[[20250722144141]] 『inとoutの年月を抽出』(ちゃばしら) ページの最後に飛ぶ

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

| 全文検索 | 過去ログ ]

 

『inとoutの年月を抽出』(ちゃばしら)

こんにちは。教えてください。

2024/01〜2025/03 までの期間があります。
鈴木、佐藤、山田の行があり、それぞれが在籍しいていた年月のセルには
1が入っています。

   24/01 24/02 24/03 24/04 24/05 24/06 24/07 24/08....
鈴木  1   1   1   1
佐藤      1   1   1   1   1   1
山田  1   1   1       1   1   1   1

この表で
鈴木⇒in 2024/01 out 2024/04
佐藤⇒in 2024/02 out 2024/06
山田⇒in 2024/01 out 2024/03、2024/05-2024/08

という結果にしたいのですが、山田の様な2回結果が出る様にするには
どの様な数式を用いれば宜しいでしょうか

お知恵拝借いたしたくお願いいたします。

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


✅ Excel関数の例(簡易版:最初と最後のみ)
例)鈴木行の対象範囲がB2:M2、列の年月がB1:M1

excel
コードをコピーする
=TEXT(INDEX(B$1:M$1, MATCH(1, B2:M2, 0)), "yyyy/mm")
で in(最初の1)の年月が取れます。

out(最後の1)は

excel
コードをコピーする
=TEXT(INDEX(B$1:M$1, MAX(IF(B2:M2=1, COLUMN(B2:M2)-COLUMN(B2)+1, 0))), "yyyy/mm")
👉 Ctrl + Shift + Enterの配列数式が必要です(もしくはLET使えば可)。

(通りすがり) 2025/07/22(火) 15:23:00



いくらなんでも

「excel
コードをコピーする」

は取ってから投稿しなさいよ。

あと、ChatGPTが出典なら、そのように書いたらどうなの!?

(PHR) 2025/07/22(火) 15:32:46


 前後(というか左右)のセルと比較しないと判定できないので、端部の前後のセルは空白にしておいてください

 B2:N2がデータ領域の場合
 =CONCAT(IF((B2:N2=1)*(A2:M2="")," in " & B1:N1,"") & IF((B2:N2=1)*(C2:O2="")," out " & B1:N1,""))

 CONCAT関数使えなかったらごめんなさい
(´・ω・`) 2025/07/22(火) 16:34:57

コメント返信:

[ 一覧(最新更新順) ]


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