条件に該当する人を抽出したい
いつもご教授いただきましてありがとうございます。
氏名、氏名コード、課コード、配布該当者と記載のある
元データがあります。
課ごとに別シートに分かれており、元データの配布該当者列に⚫︎か⚪︎がついている人の氏名、氏名コードを氏名コード順に抽出して表示させたいのです。
課コードはD2に入力してあります。
countifを使用するのはイメージできるのですが
それにvlookupかindexmatchを組み合わせたらいいのか分かり兼ねまして質問させていただきました。
何卒ご教授願います。
No.10ベストアンサー
- 回答日時:
またまたお邪魔します。
今一度こちらで確認してみました。
↓の画像のような配置で、Sheet2のB3セルには
No.9の数式をそのままコピー&ペースト(配列数式の操作)し
列・行方向にフィル&コピーしています。
問題なく表示されているのですが。
>セルの書式設定や数式が入っていることが関係していたりしますでしょうか?
書式とは数式はまったく関係ないはずです。
返ってくるのはあくまで「値」なので・・・
ん~~~
こちらではまったく理由が判りません。
例えば「○」は記号の「○」ではなく、漢数字の「〇」などの場合や
Sheet1のD列が文字列になっていて、Sheet2のD2セルが数値などの場合は
別データとして扱われるので、何も表示されなくなるはずですが。m(_ _)m
こんにちわ。
何度もご教授頂きましてありがとうございました。
いろいろと確認、検証いたしましたところ無事解決いたしました。
初歩的な確認ミスで抽出先の列数が違うことを発見し、それを提示した列の並びに修正しましたところ正しく抽出されました。
お騒がせしまして申し訳ありませんでした。
何度もお手数おかけいたしました。
また、ご丁寧にご教授頂きまして感謝いたします。
ありがとうございました。
No.9
- 回答日時:
続けてお邪魔します。
>実際のデータは5行目以降なので-4としました。
というコトは数式は
=IFERROR(INDEX(Sheet1!B$5:B$1000,SMALL(IF((Sheet1!$D$5:$D$1000=$D$2)*((Sheet1!$E$5:$E$1000="○")+(Sheet1!$E$5:$E$1000="●")),ROW($A$5:$A$1000)-4),ROW(A1))),"")
となるはずですが、
これでもダメですか?m(_ _)m
何度も申し訳ありません。
はい、ご提示いただきました数式でこちらも試しておりました。併せて、ご提示頂いた数式をコピペしたのですがやはり同じ結果となってしまいます…。
もう一度、明日試してみたいと思います…。
No.8
- 回答日時:
No.5~7です。
>違う課の数字も拾ってしまいます。
Sheet2のD2セルに拾い出ししたい「課」のデータをいれているのですよね?
そうであれば、No.5の数式でちゃんと表示されるはずですが・・・
とりあえずこちらのサンプルで確認後投稿しています。
こちらではちゃんと表示されました。
もしかして配列数式になっていないのか?と思って配列数式にせずに
No.5の数式をSheet2のB3セルにこの画面からそのままコピー&ペーストし配列数式にせずに確認したら
1行だけしか表示されなかったので、配列数式云々の問題ではないような気がします。
実際の数式はご自身で手入力されたのでしょうか?
今一度No.5の数式をそのままコピー&ペーストし、配列数式にしたらどうなりますか?m(_ _)m
ご返信ありがとうございます。
>とりあえずこちらのサンプルで確認後投稿しています。
>こちらではちゃんと表示されました。
そうですよね。教えていただきながら大変失礼いたしました。
>Sheet2のD2セルに拾い出ししたい「課」のデータをいれているのですよね?
何度も試しているのですが…やはり解決されず。
拾い出したい課にしています。
数式もご教授頂いた数式をコピペし、行数だけ実際の元データが違うので修正しました。
投稿したサンプルは3行目以降、実際のデータは5行目以降なので-4としました。
配列数式にすると、途中までは確かに該当する数字ですが
⚪︎と⚫︎がついていない数字も拾ってしまいます…。
何度も申し訳ありません…。
No.7
- 回答日時:
No.5・6です。
たびたびごめんなさい。
前回のH3セルの数式が間違っていましたね。
>=IFERROR(INDEX(B$3:B$1000,SMALL(G$4:G$1000,ROW(A1))),"")
は
>=IFERROR(INDEX(B$3:B$1000,SMALL(G$3:G$1000,ROW(A1))),"")
でした。
アップした配置ではたまたまINDEXの範囲の最初が該当行でないためにちゃんと表示されていましたが
他の列と行数を合わせないと不具合が出てしまいます。
どうも失礼しました。m(_ _)m
こんにちわ。
ご丁寧に修正のご連絡ありがとうございます。
こちらからもたびたび申し訳ありませんが、ご教授頂きたく投稿しようとしていたところでした。
本来の元データの最初のほうのデータがたまたま該当する数字だったので解決したと思っていたのですが、違う課の数字も拾ってしまいます。
質問最初に添付した元データの全ての人を抽出してしまいます。
何が原因か分からず、悩んでおります…。
何度も申し訳ありませんが、ご教授願います。
No.6
- 回答日時:
No.5です。
数式の説明を!というコトですが、
補足の部分だけでは判りにくいと思います。
↓の画像のような配置にしてみました。
(前回の配列数式を分解しています)
G3セルに
=IF((D3=D$2)*((E3="○")+(E3="●")),ROW()-2,"")
という数式を入れています。
D3セルがD2と等しく、かつE3セルが「○」または「●」の場合のみ行番号から「-2」とした数値が表示されます。
これはINDEX関数で3行目以降を範囲指定しています。(B3セルがINDEX関数の1番目となります)
そのまま行番号を掛け合わせてしまうとINDEX関数の範囲の1番目が「3」になってしまいます。
すなわち範囲の何行目か?と求める場合、「-2」がないと求める行番号が二つずつずれてしまいます。
次にH3セルに
=IFERROR(INDEX(B$3:B$1000,SMALL(G$4:G$1000,ROW(A1))),"")
という数式を入れフィルハンドルで下へコピーしています。
これでG列に表示されている行番号の小さい順に表示されます。
数式内の「ROW(A1)」はSMALL関数の順位の部分にあたりますので、
数式を入れたセルが「1番目」 → 下へコピーすると「ROW(A2)」となり、2番目・3番目・・・
といった具合に順に表示されます。
前回の配列数式は作業列なしに上記の操作を一気に行っています。
この程度でよろしいでしょうかね。m(_ _)m
ご返信が遅くなり申し訳ありません。
無事解決いたしました。
また、ご丁寧にわかりやすくご説明頂きありがとうございます。大変勉強になりました。
No.5
- 回答日時:
こんにちは!
元データはSheet1にあるとします。
下側のシートのB3セルに
=IFERROR(INDEX(Sheet1!B$3:B$1000,SMALL(IF((Sheet1!$D$3:$D$1000=$D$2)*((Sheet1!$E$3:$E$1000="○")+(Sheet1!$E$3:$E$1000="●")),ROW($A$3:$A$1000)-2),ROW(A1))),"")
配列数式になりますので、Ctrl+Shift+Enterで確定!(←必須★)し
フィルハンドルで列・行方向にコピーしてみてください。
※ 数式内の掛け算は「AND」条件・足し算は「OR」条件になります。m(_ _)m
No.4
- 回答日時:
A3に1
A4に2
A5に3
…と入力していきます。
あとはこのページにわかりやすく掲載されていますのでご参考に。↓
https://nyanto.jimdofree.com/%EF%BD%B4%EF%BD%B8% …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語初心者 構造体 課題について 1 2023/03/10 19:30
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Visual Basic(VBA) エクセル VBA メール本文に指定セルに記載されているURLをリンクとして記載する方法 8 2022/08/08 07:50
- Visual Basic(VBA) Accessフォームで全レコードを指定のExcelのセルへ転送し印刷する方法について 2 2022/09/08 18:23
- PHP 配列の値の更新方法について 1 2022/08/05 09:49
- Visual Basic(VBA) VBAでのMATCH関数 3 2022/10/17 19:06
- Excel(エクセル) エクセルで対象日に該当するデータがある場合に別表へ全対象者を表示させたい。 3 2023/07/12 09:48
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【関数】適切な文字数の数字を...
-
【関数】先頭だけにある、半角...
-
Excelのチェックボックスの使い...
-
エクセル 白黒印刷で白線を印刷...
-
LOOKUP関数を使えばいいのでし...
-
エクセルのセルに同じ大きさの...
-
エクセルの関数について教えて...
-
時間によってファイル名が変わ...
-
Excelのpivotについて質問です
-
excelの不要な行の削除ができな...
-
Excelで、決まった行を繰り返し...
-
WPS OFFICEでの縦書きについて
-
UNIQUE関数が使えないバージョ...
-
エクセルの条件付き書式につい...
-
エクセルで「-0.0」と表示さ...
-
Aというブックの1というシート...
-
VBA Private Sub Worksheet_Cha...
-
【マクロ】ファイル名の変更に...
-
【マクロ】エクセルにかいてあ...
-
excel で二つのどちらかを選ぶ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報
抽出先の表を添付いたします。
この度はご教授頂きましてありがとうございます。
すみません、下記数式の部分を再度ご教授頂けませんでしょうか?
ROW($A$3:$A$1000)-2),ROW(A1))),"")
この度はご教授頂きましてありがとうございました。
教えていただいたサイトを拝見させていただき、再度ご教授いただきたく…。
今回⚪︎と⚫︎どちらも印がついてる人を抽出したいです。
サイトの数式のどの部分を繰り返して組み込めばよいでしょうか?
match(large〜の部分でしょうか?
何度も申し訳ありませんが何卒ご教授願います。
こんにちわ。
やはり、正しい名前が表示されません。
ちなみに、セルの書式設定や数式が入っていることが関係していたりしますでしょうか?