获取电子表格中每一行的最后一个非空列值

Get the last non empty column value of every row in the spreadsheet

我想提取电子表格中每一行的列中的最后一个非空值 如果可能的话,我更喜欢使用 arrayformula

=transpose(ARRAYFORMULA(COLUMN(B2:ZZZ)))

这是我试过的电子表格 https://docs.google.com/spreadsheets/d/14iTSYnyKycccVvULCSCyG6cRFNdRoY82YzWSyises2c/copy

在A2试试

=ArrayFormula(iferror(regexextract(trim(transpose(query(transpose(B2:1000),,rows(B2:1000)))), "[^\s]+$")))


如果数据中有空格,试试

=ArrayFormula(iferror(substitute(regexextract(trim(transpose(query(transpose(substitute(B2:1000, " ", "~")),,rows(B2:1000)))) , "[^\s]+$"), "~", " ")))

看看是否有帮助?

另一种解法(在A2中):

=index(iferror(substitute(split(trim(transpose(query(substitute(sort(transpose(B2:I),sequence(columns(B2:I)),)," ","❄️"),,9^9)))," "),"❄️"," ")),,1)

这会反转范围并使用查询 smush + split + index(,1) 到 return 第一个。 SUBSTITUTE() 用于说明可能的空格。

如果您只想列出 A 列中具有值的每一行的最后 non-empty 值,您可以在单元格 A1 的单独选项卡中或在第一个单元格中使用以下公式您选择的另一列。我只是将 sort 添加到 @ztiaa 提出的公式中。

={"Expected Values";sort(index(iferror(substitute(split(trim(transpose(query(substitute(sort(transpose(Sheet1!B2:I),sequence(columns(Sheet1!B2:I)),)," ","❄️"),,9^9)))," "),"❄️"," ")),,1))}