如何連接多列中的最後一個非空白儲存格值

如何連接多列中的最後一個非空白儲存格值

我想知道如何以簡潔的方式從多列中獲取最後一個非空白單元格值,即以綠色突出顯示的預期值

在此輸入影像描述

我知道如何透過應用程式來獲取列中的最後一個非空白單元格

=IFERROR(LOOKUP(2,1/(INDIRECT("A1:A"&ROW())<>""),INDIRECT("A1:A"&ROW())),"")

然後透過應用連接多列

=TEXTJOIN("",TRUE,G4:L4)

我想了幾種可能的辦法,例如:

  1. 將來源資料從二維數組轉換為一維數組並以數組公式返回;
  2. 如果使用數組;
  3. 按行而不是按列循環。

但我想不出任何簡潔的公式並且可以正常工作。

任何幫助,將不勝感激。謝謝。

答案1

對於一行,您可以:

  1. 過濾非空白單元格

  2. 取最右邊的列

    =LET(r,A4:F4,TAKE(FILTER(r,r<>""),-1))

在此輸入影像描述

要在單一溢位公式中執行此操作,只需將該計算放入 BYROW 中即可:

=LET(d,A4:F16,BYROW(d,LAMBDA(r,TAKE(FILTER(r,r<>""),-1))))

在此輸入影像描述

編輯:要套用文字連接,您可以使用以下命令:

=LET(
    d, A4:F16,
    BYROW(
        d,
        LAMBDA(r,
            LET(
                lastletter, TAKE(FILTER(r, r <> ""), -1),
                position, XMATCH(lastletter, r),
                seqend, CODE(INDEX(lastletter, 1, 1)),
                seqstart, INDEX(seqend - position + 1, 1, 1),
                seq, SEQUENCE(seqend - seqstart + 1, , seqstart),
                TEXTJOIN("", TRUE, CHAR(seq))
            )
        )
    )
)

相關內容