既知の行数に基づいて数値で関数内のセル参照を増やす方法

既知の行数に基づいて数値で関数内のセル参照を増やす方法

これは、下の画像のセルF2に必要な数式を参照しています。F2
には結果が表示されます。欲しい:

サンプルデータを含むスプレッドシート

私は欲しい:連結式は、列Aにあるものの各バリアントについて、列Bのデータを連結します。バツアイテムのバージョン(C2の機能に基づく)の場合、連結はステップアップする必要があるバツ 列 A からテキスト文字列を描画するには、-1 回実行します。

これを実行する最善の方法がわかりません。参照する必要がある場合は、新しい関数を作成してもかまいません (F の集約 CONCAT のように、IF ステートメントを記述して "BASE" を検索できるため)。

  • C2の数字は分かっています。それは列Aのテキストが出現する回数です。
  • E2の数字は分かっています。それは行番号です
  • D の結果はわかっています。A のテキストが初めて表示される場合は「Base」、そうでない場合は「Variant」です。
  • 列Aのテキストは常にソートされていることを知っています

答え1

適応する私の答え条件付きで行をまたいでセルの内容を連結する次の数式を入力します。

  • F2=IF(AND(A1<>A2,A2<>""), G2, "")
  • G2=IF(A2<>A3, B2, B2 & ", " & G3)

(質問に示されているように、データが行 2 から始まると仮定します)。列 を使用しない場合は G、使用可能な列 (またはZなどAG) を使用して、それに応じて参照を変更できます。すべてのデータをカバーできるように、下にドラッグ/フィルします。 

2番目の列(ここでは列と仮定します)の数式 は、列の現在の項目のサイズ を下から順に Gコンマ区切りのリストで作成します 。より正確には、セルには行のリストが含まれています 。AGnそして下にあります。(今イラストをちょっと見てみると分かりやすいかもしれません。)

  • 次の行の列の値が A現在の行(A2<>A3)と異なる場合、これはその値の最後の行なので、この行とそれ以下のリストにはこの行の値だけが表示されます。
  • さもないと、これその値の最後の行ではなく、この行の下の行にはその行とそれ以下の行のリストがあります。したがって、この行から値を取得して、下の行のリストの「先頭に追加」したいと思います。

次に、列の数式により、 Fその項目の最初の行にその項目の完全なリストが表示され、他の行には空白が表示されます。 Aこの行の列の値が空白の場合も、空白が表示されます。

スプレッドシートの図解

Gこれが機能するようになったら、列を非表示にすることもできます 。

答え2

追加の列を使用して、それを非表示にします。( :

F2  ----> =IF(A2="","",IF(A1=A2,"",G3&", "&B2))
G2  ----> =IF(A2="","",IF(A2=A3,A2&", "&G3,B2))

下にドラッグします... うまくいくかどうか(またはうまくいかないかどうか)を共有してください( :

関連情報