答案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)...