excelのデータ抽出?検索?についておしえてください。
エクセル2003で sheet1に次のようなデータがあります。
A列 B列 C列 D列 E列 ・・・
1 組 番号 氏名 古典 現文 ・・・
2 1 1 青木 優
3 1 2 池田 洋子
4 1 3 植村 美紀
・
・
sheet2には1組の成績が sheet3には2組の成績が入っています。
クラスによって科目が違います。
この「氏名」と1行目の「科目名」が一致するデータを
他のシートから読み出してくる関数がありませんでしょうか
青木さんの古典を1組のシートから読み出すといった感じです。
説明がへたで 申し訳ないのですが
うまく検索ができなくて困っています。
ぜひ くわしいかた教えてください。
どうぞ よろしくおねがいします。
No.1
- 回答日時:
補足をお願いします。
sheet2とsheet3のデータは、どの列にどの項目が配列されていますか?
1行目は見出し行で、明細行は2行目以降でしょうか?
読み出した成績は、sheet1のどの列に表示されるのですか?
この回答への補足
sheet2には
A列 B列 C列 D列 E列 ・・・
1 組 番号 氏名 古典 現社 ・・・
2 1 1 青木 優 56 77
3 1 2 池田 洋子 78 66
4 1 3 植村 美紀 80 56
・
・
sheet3には
A列 B列 C列 D列 E列 ・・・
1 組 番号 氏名 現文 世界史 ・・・
2 2 1 佐伯 力 86 77
3 2 2 志垣 洋 58 66
4 2 3 末武 剛 70 86
・
・
といった漢字に並んでいます。
クラスによって 教科がまちまちです。
それをsheet1のその名前と科目が交差しているセルに
表示したいのです。
説明がたりなくてすみません。
No.2
- 回答日時:
例えばシート2やシート3では1行目に項目名があり、A1セルには番号、B1セルには氏名、C1セルから横の列には科目名が並んでいるとします。
そこでシート1ですがお示しの表があるとして、氏名で検索しますと同じ組でも同じ氏名の人がいる場合もありますので、検索にはここでは番号を使うことにします。また、科目についてはX1セルまで使用できることにします。
シート1のD2セルには次の式を入力し、右横方向にオートフィルドラッグしたのちに下方にもオートフィルドラッグします。
=IF(OR($B2="",D$1="",COUNTIF(INDIRECT("Sheet"&($A2+1)&"!A:A"),$B2)=0,COUNTIF(INDIRECT("Sheet"&($A2+1)&"!1:1"),D$1)=0),"",INDEX(INDIRECT("Sheet"&($A2+1)&"!A:X"),MATCH($B2,INDIRECT("Sheet"&($A2+1)&"!A:A"),0),MATCH(D$1,INDIRECT("Sheet"&($A2+1)&"!1:1"),0)))
ご回答ありがとうございます。
理解するのに少し時間がかかりそうなので
先にお礼だけかかせていただきました。
試してみます。
本当に助かります。
ありがとうございました!
No.3
- 回答日時:
すでにKURUMITOさんからご回答があり解決済みかと思いますが、補足をお願いした立場からの一例です。
sheet1のd2につぎの式を入力し、縦横に必要数ドラッグ
=IF(ISNA(INDEX(INDIRECT("Sheet"&($A2+1)&"!$D$2:$M$51"),MATCH($B2,INDIRECT("Sheet"&($A2+1)&"!$B$2:$B$51"),0),MATCH(D$1,INDIRECT("Sheet"&($A2+1)&"!$D$1:$M$1"),0))),"",INDEX(INDIRECT("Sheet"&($A2+1)&"!$D$2:$M$51"),MATCH($B2,INDIRECT("Sheet"&($A2+1)&"!$B$2:$B$51"),0),MATCH(D$1,INDIRECT("Sheet"&($A2+1)&"!$D$1:$M$1"),0)))
科目数10個、各クラス人員50名まで対応していますので、必要により式の数値等を変更してください。
なお。2007であれば下記のようにIFERROR関数で少しスッキリできるのですが・・
=IFERROR(INDEX(INDIRECT("Sheet"&($A2+1)&"!$D$2:$M$51"),MATCH($B2,INDIRECT("Sheet"&($A2+1)&"!$B$2:$B$51"),0),MATCH(J$1,INDIRECT("Sheet"&($A2+1)&"!$D$1:$M$1"),0)),"")
なお、関数式は、この画面からEXCELへコピー貼付ができます。
ご回答ありがとうございます。
理解するのに少し時間がかかりそうなので
先にお礼だけかかせていただきました。
2007になるとまた違うのですね。
とりあえず2003で試してみます。
本当に助かりました。
ありがとうございました!
No.4ベストアンサー
- 回答日時:
こんばんは!
すでに回答は出ていますので、参考程度で・・・
当方使用のExcel2003での方法になります。
↓の画像で説明させていただきます。
Sheet1に数式を入力する前に一手間・・・いや、二手間かけています。
各組のデータは科目が10科目・生徒数が50名まで対応できるようにしてみました。
まず、1組のSheet2のD2~M52セルを範囲指定 → メニュー → 挿入 → 名前 → 定義 から
名前欄に _1 と名前定義します。
(数値が頭に入るとたぶん名前定義できないような気がしたので、とりあえずアンダーバーを入れておきます)
同じく、Sheet2の氏名欄のC2~C52セルを範囲指定し、
名前定義で _1氏名 と名前定義
Sheet2の科目のD1~M1セルを範囲指定し
同様に、_1科目 と名前定義
以上の操作を各組全て名前定義づけしておきます。
最後にSheet1のD2セルに
=IF(OR($C2="",ISERROR(INDEX(INDIRECT("_"&$A2),MATCH($C2,INDIRECT("_"&$A2&"氏名"),0),MATCH(D$1,INDIRECT("_"&$A2&"科目"),0)))),"",INDEX(INDIRECT("_"&$A2),MATCH($C2,INDIRECT("_"&$A2&"氏名"),0),MATCH(D$1,INDIRECT("_"&$A2&"科目"),0)))
という数式を入れ、オートフィルで列方向と行方向にコピーすると
画像のような感じになります。
以上、長々と書きましたが、
参考になれば幸いです。
的外れなら読み流してくださいね。m(__)m
ありがとうございます!
画像まで入れていただいて 本当にわかりやすくて助かります。
とっても参考になりました。
まだ出来ていないのでチャレンジしてみます!
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Excel(エクセル) マクロか関数で処理したいのですが、教えて頂けませんか。 8 2022/10/31 15:18
- Excel(エクセル) Excelマクロの差分抽出のコードを教えていただきたいです。 2 2023/03/14 11:40
- Excel(エクセル) エクセルVLOOK関数について 3 2022/07/05 08:45
- Excel(エクセル) EXCEL 関数を教えてください。(A列の同じ値が複数ある場合vlookupで出来ますか) 4 2022/12/07 20:54
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Excel(エクセル) Excelの列から検索して該当する行を別シートに転記するVBA 2 2022/12/20 09:35
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) VBA セルの値と同じ名前のシートにデータを貼り付けするやり方を教えてください 2 2022/05/17 16:26
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル初心者です 関数の入れ...
-
Microsoft1Officeの互換ソフト...
-
Excel ピボットテーブルで日付...
-
エクセル関数を教えてください
-
【マクロ】その時、その時で変...
-
【マクロ】読取専用のファイル...
-
LOOKUP関数を使えばいいのでし...
-
エクセル 白黒印刷で白線を印刷...
-
【関数】先頭だけにある、半角...
-
【関数】適切な文字数の数字を...
-
Excelのチェックボックスの使い...
-
エクセルでの作業計算方法について
-
Excelのpivotについて質問です
-
WPS OFFICEでの縦書きについて
-
時間によってファイル名が変わ...
-
エクセルのセルに同じ大きさの...
-
Aというブックの1というシート...
-
エクセルの順位別一覧表の自動...
-
西暦や和暦の表示をyyyymmdd表...
-
【マクロ】エクセルにかいてあ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報