
いろいろ調べてみたのですが、どのようにすればいいのかわからなかったので質問させていただきます。
Excel 2003において、下記のシート1のデータをシート2~4に曜日ごとに抽出したいと思っています。
その際、シート1に追加したら自動でシート2~4に反映されるようにもしたいと思っていますが、どのようにしたらよいでしょうか?
Excelが詳しくない者が扱うことが多いので、できればマクロは使わず、関数でできたらいいと思っているのですが、最悪マクロを使った方法でも構いませんのでご教授いただければ幸いです。
【シート1】
a b c d e f
1 月 火 水 名前 生年月日 年齢
2 ○ 佐藤 1980/1/1 29
3 ○ 田中 1981/1/1 28
4 ○ ○ 山田 1982/1/1 27
【シート2】(月曜に○のついている人の名前と年齢を表示)
a b
1 名前 年齢
2 佐藤 29
3 山田 27
【シート3】(火曜に○のついている人の名前と年齢を表示)
a b
1 名前 年齢
2 田中 28
【シート4】(水曜に○のついている人の名前と年齢を表示)
a b
1 名前 年齢
2 山田 27
No.2ベストアンサー
- 回答日時:
こんばんは!
一例です。
月~水まででOKという前提で・・・
↓の画像でSheet1のデータを各Sheetに振り分けていますが、
とりあえずSheet2(月)分だけで説明させていただきます。
(火)・(水)のSheetも同様ですので方法だけ理解いただければ良いかな!って思っています。
Sheet1に作業用の列を設けています。
G2セルに
=IF(A2="○",ROW(A1),"")
として列方向(I列まで)と行方向にオートフィルでコピーします。
このデータを元に各Sheetに表示するようにします。
G列がSheet2用・H列がSheet3・I列がSheet4用になります。
Sheet2だけの数式を載せておきますので、G列の範囲指定の部分をSheet3の場合はH列・Sheet4の場合はI列に変更してください。
Sheet2のA2セルに
=IF(COUNT(Sheet1!$G$2:$G$100)<ROW(A1),"",INDEX(Sheet1!$D$2:$F$100,MATCH(SMALL(Sheet1!$G$2:$G$100,ROW(A1)),Sheet1!$G$2:$G$100,0),COLUMN(A1)*2-1))
として列方向と行方向にオートフィルでコピーします。
同様の操作を各Sheet行います。
これでSheet1のデータが振り分けられるはずです。
尚、数式はSheet1の100行目まで対応できるようにしていますが、
データ量によって範囲指定の領域はアレンジしてください。
以上、長々と書きましたが
参考になれば幸いです。
他に良い方法があれば読み流してくださいね。m(__)m

わざわざ画像付きの分かりやすい回答、ありがとうございます。
いろいろ試してみた結果、なんとかなりそうです。
明日職場で試してみます。
ありがとうございました!
No.3
- 回答日時:
ちなみに簡単に工夫するとこんな感じで。
シート1:
A列 B列
月曜 火曜
○
○
○
D列 E列F列
月曜
=IF(A2="","",COUNTA(A$2:A2))
以下コピー
GHI列
名前,年齢
シート月曜:
A2:
=IF(ROW(A1)>MAX(Sheet1!D:D),"",VLOOKUP(ROW(A1),Sheet1!D:I,4))
B2:
=IF(A2="","",VLOOKUP(ROW(A1),Sheet1!D:I,6))
No.1
- 回答日時:
シート月曜
A2:
=IF(ROW(A1)>COUNTIF(Sheet1!A:A,"○"),"",INDEX(Sheet1!D:D,SMALL(IF(Sheet1!$A$2:$A$100="○",ROW($A$2:$A$100),9999),ROW(A1)))&"")
と打ち込んでコントロールキーとシフトキーを押しながらEnter
B2:
=IF(A2="","",INDEX(Sheet1!F:F,SMALL(IF(Sheet1!$A$2:$A$100="○",ROW($A$2:$A$100),9999),ROW(A1))))
と打ち込んでコントロールキーとシフトキーを押しながらEnter
#関数にこだわるのをヤメにして,もうちょっと普通の人にも判るアプローチで仕事の段取り全体を見直す事を推奨します。
素早い回答、ありがとうございました。
家で試してみたところうまくいきそうだったので、明日職場で試してみたいと思います。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Excel(エクセル) Excelマクロの差分抽出のコードを教えていただきたいです。 2 2023/03/14 11:40
- Excel(エクセル) エクセルの条件付き書式 個人シートを参照して集計シートに色付けしたい 1 2023/06/22 00:39
- Excel(エクセル) マクロか関数で処理したいのですが、教えて頂けませんか。 8 2022/10/31 15:18
- Excel(エクセル) Excelについて 4 2023/03/02 09:24
- Excel(エクセル) EXCEL 関数を教えてください。(A列の同じ値が複数ある場合vlookupで出来ますか) 4 2022/12/07 20:54
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Excel(エクセル) ②Excel 簡単にシートコピーしたら前日の残高と日付を変更させたい→マクロの記録でエラーが出ます 8 2022/07/16 20:40
- Visual Basic(VBA) エクセルのマクロで対象ごとにシート分けしてその内容をセルに書き込みたい 9 2022/08/24 13:23
- Visual Basic(VBA) 【ExcelVBA】動的にボタン、ボタン名を生成できますか? 7 2022/04/08 12:54
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【マクロ】【配列】3つのシー...
-
【条件付き書式】countifsで複...
-
Excelのセルの色を変えた行(す...
-
エクセルで、チェックボックス...
-
ExcelのVlookup関数の制限について
-
文字の色も参照 VLOOKUP
-
Excel の複数シートの列幅を同...
-
エクセルの保護で、列の表示や...
-
シートをまたぐ条件付き書式に...
-
【VBA】複数のシートの指定した...
-
SUMPRODUCTにて別シートのデー...
-
Excelでの並べ替えを全シートま...
-
エクセル マクロ 標準モジュー...
-
エクセルの関数の使い方(ルッ...
-
【エクセル】1列のデータを交...
-
VBAで繰り返しコピーしながら下...
-
Excel 2段組み
-
EXCEL VBAのコンボボックスに取...
-
VLOOKアップ関数の結果の...
-
エクセル2013 複数シート間での...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】【配列】3つのシー...
-
文字の色も参照 VLOOKUP
-
【条件付き書式】countifsで複...
-
ExcelのVlookup関数の制限について
-
エクセルの保護で、列の表示や...
-
Excelのセルの色を変えた行(す...
-
エクセルで、チェックボックス...
-
VBAで繰り返しコピーしながら下...
-
シートをまたぐ条件付き書式に...
-
Excelでの並べ替えを全シートま...
-
Excel の複数シートの列幅を同...
-
エクセルの列の限界は255列以上...
-
SUMPRODUCTにて別シートのデー...
-
VLOOKアップ関数の結果の...
-
excel 複数のシートの同じ場所...
-
【VBA】複数のシートの指定した...
-
Excelに自動で行の増減をしたい...
-
エクセル マクロ 標準モジュー...
-
Excel 2段組み
-
スプレッドシートでindexとIMPO...
おすすめ情報