[[20250624121559]] 『重複する日付のある抽出』(gag) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『重複する日付のある抽出』(gag)

 お世話になります。
下記の「台帳」のようにA列に「名前」が並び
1行目に「行先」が決められているとします。
行く日が決まると空白セルに「日付」を入力
している状態が下記の台帳でこれから空白が
埋まっていくものとします。
 やりたいことは、「日付」が入力されると
「抽出結果」の様に「日付」でソートされて
名前と行先が並ぶようにしたいです。
※日付は重複するときがあります。

 よろしくご教授ください。

台帳

  |  A  |  B |  C |  D |  E |

 1  |        | 高知   |  愛媛   |  香川  |  徳島  |

 2  | 佐藤  | 7/1   |         |        |  7/2   |

 3  | 鈴木  |        |  7/10   |        |        |

 4  | 高橋  |        |   7/2   |        |   7/4  |

 5  | 田中  |        |   7/3   |  7/4   |      |

抽出結果

7/1 佐藤 高知

7/2 佐藤 徳島

7/2 高橋 愛媛

7/3 田中 愛媛

7/4 高橋 徳島

7/4 田中 香川

7/10 鈴木 愛媛

< 使用 Excel:Microsoft365、使用 OS:Windows11 >


やり方は色々ですが

 =LAMBDA(見出し1,見出し2,値,LET(
    日付,TOCOL(値,1),
    名前,TOCOL(IF(値<>"",見出し1,NA()),3),
    行先,TOCOL(IF(値<>"",見出し2,NA()),3),
    結合,HSTACK(日付,名前,行先),
    SORT(結合,1,1)
 ))(A2:A5,B1:E1,B2:E5)
(d-q-t-p) 2025/06/24(火) 14:21:30

 ご回答ありがとうございます。
ただ、例題にはうまく結果が出たのですが…
私には難しくて応用が出来ませんでした。
能力が低くてすみません。
(gag) 2025/06/24(火) 16:58:19

横からですが、気になったので。

A2:A5 ←名前が入力されている範囲(例なら佐藤〜田中まで)
B1:E1 ←行先が入力されている範囲(例なら高知〜徳島まで)
B2:E5 ←日付を入力する予定の範囲

上記部分を実際の表の、それぞれ対応する範囲に変更するだけの様に思いますが・・・
実際の表はレイアウトが違うということでしょうか?
それならそれで、実際のレイアウトを挙げた方が良いのではないでしょうか?
(コメ) 2025/06/24(火) 19:18:15


 =LAMBDA(見出し1,見出し2,値,
    LET(
        日付,TOCOL(値,1),
        名前,TOCOL(IF(値<>"",見出し1,NA()),3),
        行先,TOCOL(IF(値<>"",見出し2,NA()),3),
        結合,HSTACK(日付,名前,行先),
        SORT(結合,1,1)
    )
 )(A2:A5,B1:E1,B2:E5)
という式を説明します。

 ■
 LAMBDA(見出し1,見出し2,値,
 は関数を定義するもので、見出し1,見出し2,値の3個の引数(ひきすう)をもとに、
    LET(
        日付,TOCOL(値,1),
        (中略)
        SORT(結合,1,1)
    )
 という結果(配列)を返す関数です。LET関数のなかはあえて説明しません。   
 ■
 そうして定義した関数に、
 A2:A5, B1:E1, B2:E5 という実引数(じつひきすう;実際の引数)を与えています。
 ■
 ですから、応用というのは、最後の行の実際の引数を正確に与えることに尽きます。
 コメさんから指摘があったとおりです。

(xyz) 2025/06/24(火) 23:07:30


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.