いつもお世話になっています。
さて、前回の質問を若干、手直しました。
Sheet1です。
A B C D
1 1日 2日 3日
2 鈴木 早番 遅番 休み
3 木村 休み 休み 遅番
4 田中 遅番 早番 早番
以上のように打ち込んであったとして、
これを別の表で1日に早番で出勤する人、遅番で出勤する人をそのまま名前で抽出したいのです。(以下のような感じです)
A B C D
6 1日 2日 3日
7 早番 鈴木 田中 田中
8
9 遅番 田中 鈴木 木村
10
11 休み 木村 木村 鈴木
上記のような状態から更に急遽、1日に休みの木村が急遽、早番になり、結果として二人になったり、あるいは1日に早番の鈴木と遅番の田中が急に入れかわったりした時に 自動で修正してくれる表が欲しいのです。
どうぞ宜しくお願い申し上げます。
No.2ベストアンサー
- 回答日時:
こんにちは~
配列数式を使えば、1つの数式をコピーするだけでご希望がかなうと思いますよ。
質問のタイトルには「別のシートに反映」とあるので、Sheet1 以外に表を作るんですよね?
例を見ると、抽出表の左に 6 ~ 11の数字がありますが、これは行番号ですか?
6行目から表を始めるってことでしょうか?
とりあえず、この数字には特に意味はないと勝手に解釈させていただきました。
次のようにしてみてください。
【 前提 】
・ 元の表は Sheet1 の 1行目から4行目にある
ここでは例として抽出シート(Sheet1 とは別のシート)の1行目から表を作ります。
開始位置は別に何行目でもかまいません。数式を修正する必要はありますが・・。
B1 から右に、日付を入れてください。
A2・A3セルに 「早番」、A4・A5セルに 「遅番」、A6・A7セルに 「休み」と入力(「」は不要)。
同じ日に二人が休むことがなければ、A7は不要です。A6だけに 「休み」と入力。
質問の例では、抽出表の A列は「早番」→空白→「遅番」→空白→「休み」となっていますが、空白にはしないでください。
抽出シートの B2に、下の数式をコピペ。
=IF(COUNTIF(Sheet1!B$2:B$4,$A2)<MOD(ROW(),2)+1,"",INDEX(Sheet1!$A$2:$A$4,SMALL(IF(Sheet1!B$2:B$4=$A2,ROW($A$1:$A$3),""),MOD(ROW(),2)+1)))
貼り付けたあと、B2セルが選択された状態で F2キーを押し、
そのあと 〔Ctrl〕+ 〔Shift〕+ 〔Enter〕を同時に押して確定(配列数式)。
数式バーを見て、数式が { } で囲まれていれば OKです。
囲まれていなければ NGですので、
もう一度、B2を選択 → F2キー → 〔Ctrl〕+〔Shift〕+〔Enter〕
確定後、下に右に数式をフィルコピーすれば完成です。
抽出表を 1行目以外から始める場合、この数式をコピーするだけではうまくいきません。
参照するセル番号を変更する必要があります。
また、抽出表を偶数行から始める場合(日付が入る行が偶数行の場合)、
MOD(ROW() の部分(2ヶ所)を MOD(ROW(A2) のように、ROW のあとの()内に A2 を入れてください。
1行目のように奇数行の場合はそのままでOKです。
わからなければ補足してください。
その際、抽出表が何行目のどの位置から始まるのかを具体的に書いてください。
ご回答、有難うございます。
エクセルは奥が深いですよね。いつも思うのは、パソコンはどこまでのデータ処理を行えるのか、です。特に私が疑問とする内容等は簡単にできそうなものですが、これが中々、上手くいきません。
あるいは、shiotan99さんのようにパソコンに精通していそうな方に比べると私は単に勉強不足、ということなのでしょうかね。
何はともあれ、教えて頂いた内容で試してみます。
有難うございました。
No.1
- 回答日時:
改めましてこんばんは
かなり難易度がアップしてますね^^;
早番 遅番 休み それぞれ二人までという条件の下で
半ば強引に作ってみました。
(いずれかが三人になった場合には対応しません)
1日がB列なら31日はAF列になると思います。
AH列を作業列として使いました。
AH4に 1 AH3に 2 AH2に 1 と入力して下さい。
(人数が増えたら一番下の人を 1 下から2番目の人を 2
として上方向にフィルコピー)
さらに作業用の表も作りました。(A14:AF16)
作業用の表は元の表の名前の順番を反転させる為のものです
A14に =INDEX($A$2:$A$4,AH2)
A16までコピー
B14に =INDEX(B$2:B$4,MATCH($A14,$A$2:$A$4,0))
AF14までコピー
そのまま16行目までコピー
B7に =INDEX($A$2:$A$4,MATCH($A7,B$2:B$4,0))
B8に =IF(COUNTIF(B$14:B$16,$A7)=1,"",INDEX($A$14:$A$16,MATCH($A7,B$14:B$16,0)))
B7とB8を選択して下方向にB12までフィルコピー
B7:B12が選択された状態のまま
書式 - 条件付書式 - 数式が - =ISERROR(B7) - 書式ボタン
- フォントタブ で色を白に設定 OKボタン
B7:B12が選択された状態のまま
AF列までコピー
質問の表の7行目9行目11行目(つまり一人目)は元の表を
8行目10行目12行目(二人目)は順序を反転させた作業用の表を参照しています。
必要に応じて作業列、作業用の表は非表示にして下さい。
追記:
作業列(AH列)は 直接数字を入力しましたが、
AH2に =COUNTA(A2:A4)
AH3に =AH2-1
として、AH3の式を下方向にフィルコピーしてもいいです。
配列数式を使ったもっとスマートな方法もあるかも知れませんが
私にはこれが精一杯です o(_ _)o
↓前回の質問
参考URL:http://okweb.jp/kotaeru.php3?q=1504685
度重なるご回答、有難うございます。
エクセルの場合、意外と出来そうな事が出来ない、こういった事が多々あり、苦労しています。
何はともあれ、教えて頂いた内容で試してみたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Excel(エクセル) 『シフト表自動化の作成について』 1 2022/06/02 00:45
- Excel(エクセル) Excelマクロの差分抽出のコードを教えていただきたいです。 2 2023/03/14 11:40
- アイドル・グラビアアイドル どうして乃木坂のメンバーは酒が強い人が大勢いるんでしょう? 3 2022/06/13 14:38
- 求人情報・採用情報 シフト勤務について 2 2023/08/05 16:53
- Excel(エクセル) Excelについて 7 2023/03/12 17:01
- 会社・職場 昨日お休みで遊びに行っていた人が本日一人で早番勤務だったのですが、急に本日の朝発熱と体調不良で休みま 2 2022/03/28 09:26
- PHP PHPでCSVを出力するさいに、ループの中で前の行の値を変更したい 3 2022/10/27 17:44
- Excel(エクセル) 【マクロ】ファイル名の日付によって、保管するフォルダを、自動選択したい 4 2023/08/16 11:24
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
数学 Tan(θ)-1/Cos(θ)について...
-
4つのパターンを表示するEXACT...
-
エクセルの数式で教えてください。
-
エクセルで指定した日付、店舗...
-
Excel:一部のフォントでセルの...
-
Excel初心者です。 詳しい方、...
-
Excel初心者です。 詳しい方、...
-
Excel 2019 のピボットテーブル...
-
スマートな関数を教えて下さい。
-
Excelのグラフ軸について
-
EXACT関数とIF関数の組み合わせ...
-
Excel ウインドウ枠の固定をす...
-
エクセルで日付の入ったセルの...
-
excelの不要な行の削除ができな...
-
INDIRECTを使わず excelで複数...
-
各ページの1番上の表示について
-
スプレッドシートの関数VLOOKUP...
-
エクセルでセルに「氏名を入力...
-
関数を教えて下さい。
-
Excelのif関数で文字が見えなく...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイル内にある数字の出現回...
-
Excel関数の先頭に「@」が入っ...
-
エクセルの気味悪い不思議
-
Excel VBAで、実行時にsheet上...
-
表示されている人数だけを数え...
-
他人が作ったマクロの理解
-
Excelの関数について質問です。
-
Excel 集計表
-
エクセル 日時の計算式について
-
Excelの関数に関して質問です。...
-
エクセル:セル内の文字列の下...
-
絞り込み検索
-
エクセルの関数で
-
エクセルの書式設定について教...
-
余分なEXCELファイルに印刷され...
-
VBA 同一シート内での転記の仕方
-
長期休みの関数はありますか
-
Excelの空のセル
-
エクセルで入力してある文を別...
-
Excelのマクロで、セルを結合し...
おすすめ情報