
答え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))
空でないセルの配列を 2 つ作成します。1 つは最初のセルから始まり最後から 2 番目のセルで終わり、もう 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) ...