[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『日付範囲のあるデータ抽出方法』(shizuku)
例えば、発売時期によってバージョンが違うが、題名は同じ本があるとします。本の題名と発売日からバージョンを算出したい場合、何かいい方法ありますか?index、match関数で算出しようとしても、日付が範囲になっており算出できません。
下記に詳細のサンプルエクセルを記述しました。
<発売日マスタエクセル>に、本の題名、バージョン、発売日(From-To)を記述し、<バージョン算出用エクセル>のC列に、マスタからヒットするバージョンを表示させたいです。
<発売日マスタエクセル>
A列 B列 C列 D列 本の題名 バージョン 発売日(From) 発売日(To) 1 あああ Ver1 2014/8/10 2014/11/30 2 あああ Ver2 2014/12/1 2016/4/5 3 あああ Ver3 2016/4/6 2019/5/31 4 いいい Ver1 2014/9/1 2017/7/13 5 いいい Ver2 2017/7/14 2019/8/1 6 ううう Ver1 2015/3/3 2016/4/10 7 ううう Ver2 2016/4/11 2018/2/20 8 ううう Ver3 2018/2/21 2019/6/15 ・ ・ ・
<バージョン算出用エクセル>
A列 B列 C列 本の題名 購入日 バージョン 1 あああ 2015/3/1 2 ううう 2017/2/24 3 いいい 2019/5/10 4 いいい 2017/4/10 5 ううう 2017/12/1 6 あああ 2016/11/9 7 あああ 2018/9/15 ・ ・ ・
ご教授願います。。。
< 使用 Excel:Excel2010、使用 OS:Windows10 >
おはようございます。。。 ベタベタですけど、、、 配列で確定します。。 答えはあってますでしょうか??
本の題名 購入日 バージョン あああ 2015/3/1 Ver2 ううう 2017/2/24 Ver2 いいい 2019/5/10 Ver2 いいい 2017/4/10 Ver1 ううう 2017/12/1 Ver2 あああ 2016/11/9 Ver3 あああ 2018/9/15 Ver3
すみません。ない時も解を返すので、、↓にしておきます。 =IF(MAX((Sheet1!$A$2:$A$9=A2)*(Sheet1!$C$2:$C$9<=B2)*(Sheet1!$D$2:$D$9>=B2))>0, INDEX(Sheet1!$B$2:$B$9,MAX((Sheet1!$A$2:$A$9=A2)*(Sheet1!$C$2:$C$9<=B2)*(Sheet1!$D$2:$D$9>=B2)*ROW(Sheet1!$A$1:$A$8))),"") (SoulMan) 2019/08/14(水) 06:51
おはようございます^^。。。連休ですか。。。いいっすね〜 合ってましたですよ。 う また要らぬお世話を。。。つい手が。。。( ̄▽ ̄) m(_ _)mm(_ _)mm(_ _)/ (隠居じーさん) 2019/08/14(水) 07:32
おはようございます。
お久しぶりです。
最近、検証されていなかったので少々不安でしたぁ(笑)
連休です。。暇です。。。
では、、また、、よろしくお願いします。。。 (SoulMan) 2019/08/14(水) 07:40
バージョンというのは、実際のデータも文字列なんですかね? 数値なら SUMIFS 関数でできそうですけど・・・
文字列なら 発売日マスタが Sheet1 どちらのシートも、1行目が見出し、2行目からデータだとして
C2 =IFERROR(INDEX(Sheet1!$B$2:$B$100,MATCH(1,INDEX((Sheet1!$A$2:$A$100=A2)*(Sheet1!$C$2:$C$100<=B2)*(Sheet1!$D$2:$D$100>=B2),0),0)),"")
または C2 =IFERROR(LOOKUP(1,0/((Sheet1!$A$2:$A$100=A2)*(Sheet1!$C$2:$C$100<=B2)*(Sheet1!$D$2:$D$100>=B2)),Sheet1!$B$2:$B$100),"")
普通に Enter だけで確定し、下にコピー 範囲は実際の表に合わせてください。
以上です (笑) 2019/08/14(水) 08:09
一応、書いておきますけど 本当にマスターのB列が Ver1、Ver2、Ver3 …… のような値なら 置換で Ver を削除して数値だけにし、表示形式〜ユーザー定義を "Ver"0 とする。
こうしておけば SUMIFS 関数でもできますね。
参考まで (笑) 2019/08/14(水) 08:49
市販の参考書に書いてあるレベルのことで対処できるという意味では 簡単な式になりますね。
C2 =SUMIFS(Sheet1!B:B,Sheet1!A:A,A2,Sheet1!C:C,"<="&B2,Sheet1!D:D,">="&B2)
どんな数値なのか知りませんが、Ver1、Ver2 ……のような表示にしたいのなら 表示形式〜ユーザー定義 "Ver"0;; ← セミコロンを2つ付ける!(「0」を非表示にするため)
参考まで (笑) 2019/08/15(木) 10:03
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.