[英]Using Google Sheets ARRAYFORMULA to Concatenate Series of Item Based from Lowest to Highest Values per Row
我有一個包含三列的表格:A 列:項目名稱,B 列:系列的最低值,C 列:系列的最高值。 在此處輸入圖像描述
我想要實現的是:
所以 Apple 7 9 將產生:“Apple_7”、“Apple_8”、“Apple_9”
將每行的此類序列連接/加入 D 列 So
物品 | 從 | 直到 | 結果 |
---|---|---|---|
蘋果 | 7 | 9 | “Apple_7、Apple_8、Apple_9” |
漿果 | 3個 | 8個 | “Berry_3、Berry_4、Berry_5、Berry_6、Berry_7、Berry_8” |
使用一個 Arrayformula 完成所有操作,以便可以自動計算添加的新行。
這是示例表: https://docs.google.com/spreadsheets/d/1R5raKmmt5-aOIorAZGHjv_-fdySKWjCMB_FRQwm1vag/edit#gid=0
我在 D 列中嘗試過:
arrayformula(textjoin(", ",true,arrayformula(A3:A&"_"&sequence(1,C3:C-B3:B+1,B3:B,1))))
顯然,序列 function 僅從 B 列獲取值並將其加入第一行。
任何幫助將不勝感激。
試試下面BYROW()
公式(見你的文件,harun24hr 表)。
=BYROW(A3:INDEX(A3:A,COUNTA(A3:A)),LAMBDA(x,TEXTJOIN(";",1,INDEX(x&"_"& SEQUENCE(INDEX(C:C,ROW(x))-INDEX(B:B,ROW(x))+1,1,INDEX(B:B,ROW(x)))))))
這里A3:INDEX(A3:A,COUNTA(A3:A))
將返回一個值數組以及從A3到 A 列中最后一個非空單元格的單元格引用(假設數據中沒有任何空白行)。 如果你有空行,那么你必須使用不同的方法。 請參閱@TheMaster 的這篇文章
然后LAMBDA()
將對B 的每個單元格以及 C 列應用TEXTJOIN()和SEQUENCE() function。
SEQUENCE()
將從開始到結束編號並通過連接 A 列來制作系列,並將生成您想要的字符串。
最后TEXTJOIN()
會將所有帶有分隔符的字符串連接到一個單元格中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.