答え1
O365 をお持ちでない場合は、VBA または Power Query ソリューションをお勧めします。
ただし、Excel O365 をお持ちの場合は、次の操作を試すことができます。
- データからテーブルを作成します (テーブル名は です
Table5
。テーブル名に合わせて数式を調整してください)。- こうすると、空白の列に「
ColumnN
whereN
is a number」のような名前のヘッダーが自動的に配置されます。
- こうすると、空白の列に「
私の結果はA22から始まるので(下記参照)
数式:
元のテーブルからの一意の日付の並べ替えられたリスト:
A23: =SORT(UNIQUE(FILTERXML("<t><s>" & TEXTJOIN("</s><s>",TRUE,INDEX(Table5,SEQUENCE(ROWS(Table5)),SEQUENCE(,COLUMNS(Table5)/2,1,2))) & "</s></t>","//s")))
法人一覧:
B22: =FILTER(Table5[#Headers],ISERR(FIND("Column",Table5[#Headers])))
一致する値を返す
B23: =LET(x,INDEX(Table5,SEQUENCE(ROWS(Table5)),SEQUENCE(,2,MATCH(B$22,Table5[#Headers],0)-1)),y,XLOOKUP($A23,INDEX(x,0,1),INDEX(x,0,2),""),y)
選択しB23
て上下左右に入力し、結果テーブルを入力します。
一意の日付の式の説明:
INDEX(Table5,SEQUENCE(ROWS(Table5)),SEQUENCE(,COLUMNS(Table5)/2,1,2))
奇数列(日付列)のみを含むテーブルを返します。
TEXTJOIN("</s><s>",TRUE,the_odd_column_table)
指定された区切り文字を使用して、日付列のすべてのエントリを単一の文字列に結合します。
FILTERXML("<t><s>" & the_joined_string & "</s></t>","//s")))
XMLを作成し、ノードの配列を返します(元の表の日付になります)。
SORT(UNIQUE(the_dates_array))
明白なことを行います。