Excel 公式或 VBA 幫助

Excel 公式或 VBA 幫助

不確定這在公式中是否可行,或者是否需要 VBA,但我有以下資料集,

數據集

我想從 A:F 中獲取值,忽略任何空白單元格並在單元格 G 中建立值(包括每對後面的回車符)

我嘗試過文字連接,這讓我完成了其中的一部分,但它使所有值都變成一個字串。正如你所看到的,他們需要去 A => B B => C C => D

但忽略空格。

任何幫助表示讚賞!

答案1

使用:

=TEXTJOIN(CHAR(10),TRUE,INDEX(FILTER(A1:F1,LEN(A1:F1)>0),SEQUENCE(COUNTA(FILTER(A1:F1,LEN(A1:F1)>0))-1,,1))&" => "&INDEX(FILTER(A1:F1,LEN(A1:F1)>0),SEQUENCE(COUNTA(FILTER(A1:F1,LEN(A1:F1)>0))-1,,2)))

透過使用,INDEX(FILTER(A1:F1,LEN(A1:F1)>0),SEQUENCE(COUNTA(FILTER(A1:F1,LEN(A1:F1)>0))-1,,1))我們INDEX(FILTER(A1:F1,LEN(A1:F1)>0),SEQUENCE(COUNTA(FILTER(A1:F1,LEN(A1:F1)>0))-1,,2))創建了兩個非空白單元格數組,一個從第一個開始並以倒數第二個結束,第二個從第二個開始並以最後一個結束。

然後我們連接" => "並使用 TEXJOIN 新增換行符。

並抄下來。

在此輸入影像描述

答案2

我會解決如下:

為產生中間結果的每個資料行引入輔助行:T1、T1、T5、T3、T6、T6、T2、T2、T3l、T3、T7

規則:「如果儲存格為空,則填入前一個儲存格」 A3: =A1 B3: =if(b1="";a1;b1)

在另一個輔助行中,您可以使用vbCrlf 作為換行符號以累積方式建立最終表達式: 規則:「如果儲存格內容發生變化,則在公式中新增另一個子表達式,如果不重複舊公式」 b4 : =if(b3 <>a3;a4 & vbcrlf & a3 & "=>" b3;a4) ...

相關內容