No.3ベストアンサー
- 回答日時:
No1です。
>fujillinさんの通りの内容のシートになります。
もう一度読み直したら、どうやら違う気がしてきました。
作成したいシートは、日付と作業者が項目軸となっているマトリックスに、勤務形態をプロットするイメージではなかろうかと思い直しましたので、ひとまずその内容で回答します。
違っているかも知れませんが、添付図のような構成を想定しました。
・上段がSheet1で日々記入(?)してゆく元シート
・下段が、それを基にマトリックス状に整理したシート
のイメージです。
Sheet1で同じ日に同じ人が複数記入されていると(誤記入?)、マトリックスに該当するデータが複数あることになってしまいますが、先にヒットした方を採用し、ダブっていることのチェックは行っていません。
(もしも、そのようなチェックを行うなら、記入側のSheet1で行った方が良いでしょう)
さてご質問の内容としては、マトリックスの内部(添付図の水色部)さえ埋められれば良さそうですが、項目(添付図の黄色、黄緑色部)も含めて抽出したい場合も含めて以下に記しておきます。
※ 元のシート名は「Sheet1」と仮定します。
※ 下記の式は、Sheet1の1~999行までを対象範囲としています。
(異なる場合は調整が必要です)
添付図の下段B2セルに
=IFERROR(IF($A2="","",INDEX(Sheet1!$C:$C,AGGREGATE(15,6,INDEX(ROW($A$1:$A$999)/(Sheet1!$A$1:$A$999=$A2)/(Sheet1!$B$1:$B$999=B$1),,),1))),"")
の式を入れて、水色部分にフィルコピーすることで、タイトルに応じた内容を検索し表示されます。
項目蘭も自動抽出したい場合は。A2セルに
=IFERROR(INDEX(Sheet1!A:A,AGGREGATE(15,6,INDEX(ROW($A$1:$A$999)/(COUNTIF(OFFSET(Sheet1!$A$1,0,0,ROW($A$1:$A$999)),Sheet1!$A$1:$A$999)=1),,),ROW(A1))),"")
の式を入れて下方にフィルコピー(黄色部分)
B1セルに
=IFERROR(INDEX(Sheet1!$B:$B,AGGREGATE(15,6,INDEX(ROW($B$1:$B$999)/(COUNTIF(OFFSET(Sheet1!$B$1,0,0,ROW($B$1:$B$999)),Sheet1!$B$1:$B$999)=1),,),COLUMN(A1))),"")
の式を入れて、右方にフィルコピー(黄緑色部分)
※ 抽出は出現順に行われますので、必ずしも(何かの)順序通りになるとは限りません。
この回答へのお礼
お礼日時:2019/09/12 18:33
ありがとうございました。
複雑な関数の組み合わせで簡単にできることに驚きました。
不十分な説明を読み解いて質問者の要望に十二分に応える
すばらしいの一言に尽きます。
関数をひとつひとつ調べても、組み合わせて何をしているのか
まだ理解できません。
機会があれば教えて頂ければと思います。
No.2
- 回答日時:
「A列に月日、B列に作業者名、C列に勤務体系(早番、遅番、他)があり、月日は4/1~3/31まである、データで埋めた行列番号入りの10行くらいのサンプル表と、それを全て参照して
「A列に月日、B列以降、C,D,E...に各作業者名が入り、個人別の勤務一覧とな」った行列番号入り別表を示せば、貴方が良く理解できる数式を呈示できようかと。
No.1
- 回答日時:
こんにちは
説明文だけでは全体の構成がよくわかりませんが・・・
>A列に月日、B列に作業者名、C列に勤務体系(早番、遅番、他)があり、
>月日は4/1~3/31まであります。作業者名は多く、日々変動があります。
これって、作業者の人数分だけA列には同じ日にちが重複して存在するということでしょうか?
(よって、全体の行数は365日分ではなく、概ね365×人数分程度ということでしょか?)
それを元にして、同じ日にちの内容をまとめて1行にし、(元の)B、C列をセットにして横に並べたいという意味でしょうか?
もしそうであれば、関数でもVBAでもどちらでも対応可能と思われます。
>作業者が変動するのでうまくいきません。
イメージがわかりませんが、元の表を参照して表示する仕組みになっていれば「うまくいかない」というケースがどのような場合なのか思いつきません。
「作業者が変動するので」うまくいかないというケースを、具体的にご説明願います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
今まで文字化けなく開けていたc...
-
スプレッドシートで指定された...
-
ExcelでASCを使って全角を半角...
-
マクロの処理が遅くなった
-
Excel関数について教えてくださ...
-
作成した数式を値として表示し...
-
エクセルの質問です。 F列からL...
-
エクセルでファイルの最終更新...
-
EXCELの散布図で日付が1900年に...
-
【マクロ】VLOOKUPにて参照元に...
-
エクセルのセル内に分数などの...
-
Excelの警告について
-
Microsoft 365Excelの見開きペ...
-
Excel関数について教えてくださ...
-
シートの情報を別のシートへま...
-
Excelマクロで空白セルを詰めて...
-
【マクロ】フォルダ内にあるPDF...
-
index関数の説明をお願いします。
-
重複しない値を取り出したい
-
エクセルの数式バーのフォント...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの警告について
-
Excelで数値を時間数に変換する...
-
エクセルの数式バーのフォント...
-
エクセルで数字の組み合わせを...
-
エクセルを使用して、円周率を...
-
Excelで特定の文字列が含まれて...
-
Excel 対象のセルに入力が無い...
-
任意の値が存在する行に名前を...
-
エクセルでファイルの最終更新...
-
index関数の説明をお願いします。
-
条件付き書式でやりたいのですが
-
重複しない値を取り出したい
-
【ExcelVBA】UTF-8(BOM無)でC...
-
【マクロ】マクロが割当てされ...
-
エクセル IF計算式?でしょうか?
-
エクセルで曜日を入れたい
-
表中の指定した条件の文字列を...
-
【Excel】版が同じ事を示す番号...
-
EXCELの散布図で日付が1900年に...
-
Excelについて。Excelに縦1列に...
おすすめ情報
早速ありがとうございます。
fujillinさんの通りの内容のシートになります。
質問内容がわかりにくいのを反省しています。
関数でやりたいのですが、どの関数を組み合わせるのかわかりません。
できればセルごとの関数を教えて頂ければさいわいです。
関数初心者です。よろしくお願いいたします。