[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『他のシートのデータを複数条件で抽出する方法』(漢)
タイトルのように他のシートのデータを複数条件で抽出したいのですが、関数が思いつかずご教授いただきたいです。
条件: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 >
(γ) 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
(γ) 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.