スプレッドシートである表を検索して複数ヒットした場合に1つのセルにまとめて入力する操作について

複数条件の検索がしたかった人

matchに複数条件入れてindexにぶち込む

A14をx座標、J1をy座標と見れば2次元ベクトルを集めたリストを
xy平面に見立てた別シートに各点を写すことができる

ただしリストの中で該当座標にヒットした中の1番上のデータしか拾えない

本題

カレンダーの10月1日のマスにADEの3つの予定を入力したいんだぜ

結果

中身

=if(isna(VLOOKUP(D2,$A$2:$B$50,2,false)),"",textjoin(char(10),TRUE,choosecols(filter($A:$B,$A:$A=D2),2)))

解説

=if(                       //if(A,B,C)でAがTrueならB、FalseならC
    isna(                  //中身がN/AならTrue(該当日付の予定が存在しないパターン)
         VLOOKUP(          //$A$2:$B$50の範囲でD2を探して該当行のk(≧1)列目のデータを返す
                 D2,
                 $A$2:$B$50,
                 2,
                 false     //おまじない
                 )
         ),
    "",     //if関数のTrueルート
    textjoin(                      //textjoin("A",TRUE,{1,2,3})="1A2A3"
             char(10),             //改行文字
             TRUE,                 //おまじない
             choosecols(           //表を入力としてk(≧1)番目の列を返す                 
                        filter(    //A:Bの表でA列がD2に一致する行全てを表にして返す
                               $A:$B,
                               $A:$A=D2
                               ),
                        2
                        )
              )
   )

まあ各関数は調べたら出る

実際の用途

スマホからグーグルフォームで日付と予定名を回答してスプレッドシートに集めてカレンダー形式の別シートに各予定が改行されて入力されるようにした

複数条件の複数ヒットに対応・・・?

filterの条件式に&入れたら出来るかもね試してないけど

検索単語

スプレッドシート、エクセル、データ抽出、表を検索、列を抽出、複数結果、1つのセルに

spreadsheet、excel、vlookup、xlookup、index、match、filter、choosecols、chooserows、concat、textjoin

おわり