[[20220531234730]] 『他のシートのデータを複数条件で抽出する方法』(漢) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『他のシートのデータを複数条件で抽出する方法』(漢)

タイトルのように他のシートのデータを複数条件で抽出したいのですが、関数が思いつかずご教授いただきたいです。
条件:C行(A〜C)で一番古い日付のAの値を一覧を別シートに抽出
データは今後も増える可能性があり
別シートにA行の抽出したデータは重複削除される形が嬉しいです。

 A   B  C   D
42 5/3   
23 5/2  C 
76 5/7  C 
14 5/10 C 
98 5/10 D 
99 5/11 D 
45 5/9  C 
23 5/14 A 
14 5/15 B 
42 5/20 B 
55 5/4   
67 5/23 D 
76 5/26 D 

分かりづらいと思いますが、よろしくお願いします。

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


確認:
(1)条件はC列がA or B or C であって、そのうちB列の最も古い日付の数値の一覧ですか?
それとも、
(2)B列の最も古い日付の数値の一覧を、C列がA,B,Cそれぞれについて一覧を出すのですか?
# こういう場合は、サンプルの結果も示して質問されるのが普通です。
 
考え方としては、
・MINIFS関数を使って、最小の日付を抽出し、
・フィルタオプションを使って、該当する日付を重複を無視して列挙する
ことで得られませんか。
(1)の場合は補助列を使用することになるでしょうか。

(γ) 2022/06/01(水) 08:25


 「C行、A行」とは行ではなく列です。
 行は横方向、列は縦方向です。
 >A行の抽出したデータは重複削除される形が嬉しいです。
 これもあなたが言っている「C行」の間違いでは。

 (γ) さんはこれをくみ取って回答されていますけどね。

 行列について再確認をしてほしいとの思いで記述しました。。
(閲覧者) 2022/06/01(水) 10:20

回答ありがとうございます。

失礼しました。
下記で質問し直します。

条件:データシートのC列のAorBorCの同じ行のA列の値を別シートのA列に一覧として抽出
   一覧をデータはの一番古い日付を別シートのB列に表示させたい
データは今後も増える可能性があり
別シートにA行の抽出したデータは重複削除される形が嬉しいです。
データシート
A列:注文番号 B列:日別 C列:ランクのようなもの

データシート

 A   B  C   D
42 5/3   
23 5/2  C 
76 5/7  C 
14 5/10 C 
98 5/10 D 
99 5/11 D 
45 5/9  C 
23 5/14 A 
14 5/15 B 
42 5/20 B 
55 5/4   
67 5/23 D 
76 5/26 D 

結果
別シート

 A   B  C   D
23 5/2
76 5/7
14 5/10
45 5/9
42 5/20

上記のように結果を出したいです。

説明が下手ですみません。。。
よろしくお願いします。
(漢) 2022/06/02(木) 00:57


改めて説明されたのですが、よく、というか少しもわかりません。理解力不足かな。
>C列がA or B or C であって、そのうちB列の最も古い日付がある行
なら、(日が重ならない限り)一つだと思いますが、
どうして、その5個が抽出されるのですか?
もう少し謎解きをお願いします。

(γ) 2022/06/02(木) 05:58


 作業列を使う方法。
 データシートのD列とE列を作業列として使う。
 D1セル:=IF(OR(C1={"A","B","C"}),A1,"")
 E1セル:=IF(D1="","",COUNTIFS(D:D,D1,B:B,"<"&B1)+1)
 と入力して下へフィルコピー。

 別シートのA1セルに
 =IFERROR(INDEX(データ!A:A,AGGREGATE(15,6,ROW($1:$100)/(データ!$E$1:$E$100=1),ROW(A1))),"")
 と入力してB列及び下へフィルコピー。
 B列の表示形式を日付へ、でどうだろうか?
 なお別シートの式はデータシートのデータが最大100行までに対応している。
(ねむねむ) 2022/06/02(木) 09:21

 あと、MINIFS関数は2016では使用不可かと。
(ねむねむ) 2022/06/02(木) 09:22

 すまない。
 データシートのE列の式を
 =IF(D1="","",COUNTIFS(D:D,D1,B:B,"<"&B1)+COUNTIFS(D$1:D1,D1,B$1:B1,B1))
 に修正してくれ。
(ねむねむ) 2022/06/02(木) 09:29

γさん 閲覧者さん ねむねむさん
ありがとうございます。

ねむねむさんの関数でやりたいことが出来ました!!
とても嬉しいです!

ねむねむさん
row($1:$100)だと何故かデータが二つしか表示されなかったので、100000まで伸ばしたら今あるデータ全て抽出できました!
これは問題ないですよね?
(漢) 2022/06/03(金) 08:52


 そこは元データの最大行数以上(1000行目までデータがあれば1000以上)であれば構わない。
 あと
 ROE($1:$100)
 と
 データ!$E$1:$E$100
 の$1、$100は同じになるようにしてくれ。
(ねむねむ) 2022/06/03(金) 09:05

コメント返信:

[ 一覧(最新更新順) ]


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