No.3ベストアンサー
- 回答日時:
回答1です。
Book1のシート1は先に述べた表であるとして、Book2のシート1ではA2セルには次の式を入力して下方にオートフィルドラッグします。
=INDEX([Book1]Sheet1!$B$2:$AF$2,ROW(A1))
また、B2セルには次の式を入力して下方にオートフィルドラッグします。
=IF(A2="","",TEXT(A2,"aaa"))
これでA列には日付がB列には曜日が表示されますね。
C2セルには次の式を入力して横方向にオートフィルドラッグしたのちに下方にもオートフィルドラッグします。
=IF(COLUMN(A1)>COUNTIF(INDEX([Book1]Sheet1!$B$1:$AF$500,1,ROW(A1)):INDEX([Book1]Sheet1!$B$1:$AF$500,500,ROW(A1)),"○"),"",INDEX([Book1]Sheet1!$A$1:$A$500,SMALL(IF(INDEX([Book1]Sheet1!$B$1:$AF$500,1,ROW(A1)):INDEX([Book1]Sheet1!$B$1:$AF$500,500,ROW(A1))="○",ROW($A$1:$A$500),""),COLUMN(A1))))
先に述べたように式を確定する段階ではCtrl+Shift+Enterで確定します。
ご連絡が遅くなり申し訳ございません。
2つも教えて頂き、ありがとうございます。
これで何とか表ができそうです。ありがとうございました。
頑張って作成してみます。
No.2
- 回答日時:
簡単な関数の組み合わせだけで計算してみます。
状況:
Book1.xlsのSheet1に今の勤務表がある
準備:
Book1.xlsのSheet2に次の通り作成する
B4:
=IF(Sheet1!B4="○",ROW(),"")
シート1の表範囲と同じ範囲にコピーしておく
作成:
Book1と同じように2行目3行目を作る
B4:
=IF(ROW(B1)>COUNT([Book1.xls]Sheet2!B:B),"",INDEX([Book1.xls]Sheet1!$A:$A,SMALL([Book1.xls]Sheet2!B:B,ROW(B1))))
と記入し,右に下にコピーして入れておく。
数式の作成中は勿論Book1を開いておく必要がある。
#注意
Book1とBook2にデータを分けて作成したい場合,COUNTIFを使う方法は,ブックを作成後に改めてBook2だけを開いて確認しようとすると全部エラーになるので,注意が必要です。
No.1
- 回答日時:
元のデータはBook1のシート1に有り、A4セルから下方に氏名が、B4セルから横方向および下方に○が入力されるものとします。
お求めの表はBook2のシート1に表示させるとして、B1セルには次の式を入力してB2セルまでオートフィルドラッグしたのちに横方向にもオートフィルドラッグします。
=[Book1]Sheet1!B2
これでBook1と同じ日付と曜日が1行目と2行目に表示されますね。
そこでB3セルには次の式を入力します。
=IF(OR(COUNTIF([Book1]Sheet1!B$1:B$500,"○")=0,ROW(A1)>COUNTIF([Book1]Sheet1!B$1:B$500,"○")),"",INDEX([Book1]Sheet1!$A$1:$A$500,SMALL(IF([Book1]Sheet1!B$1:B$500="○",ROW(A$1:A$500),""),ROW(A1))))
この式を確定するに当たってはCtrl+Shiftキーを押しながらEnterキーを押します。これで式の両側には{ }が付いた形の式になります。
次にB3セルの式を横方向にオートフィルドラッグしたのちに下方にもオートフィルドラッグします。
これで出勤日に○の入っている人の名前が日付ごとに表示されます。
なお、Book1は勿論、事前に立ち上げておくことが必要です。
早速のご回答ありがとうございます。
無事、これで作成できました。
ただ、横にするととてもデータが長くなることに気づいてしまい、
縦に日付 横に氏名を出すには、
どこを修正したらよいのかも教えて頂ければ幸いです。
お手数をお掛けいたしますが、宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA 毎日取得するデータを順番に反映していく方法 6 2023/08/26 16:22
- Excel(エクセル) 出勤簿の土、日、休日に色付けできない 2 2022/08/04 20:10
- Excel(エクセル) エクセルでの勤務表作成、インターバルの設定について 3 2022/06/03 15:35
- Excel(エクセル) エクセルの条件付き書式について エクセルでカレンダーを作りました。縦に日付が並んでいて、横にスケジュ 3 2022/10/10 15:32
- Excel(エクセル) エクセルで、ファイルの分割 と ファイルの集約 1 2022/08/28 08:58
- Excel(エクセル) マクロ作成初心者です。CSVファイルの日付データについて 3 2022/12/14 06:02
- Excel(エクセル) エクセルで対象日に該当するデータがある場合に別表へ全対象者を表示させたい。 3 2023/07/12 09:48
- その他(Microsoft Office) エクセルのシフト表を簡単にGoogleカレンダーに入力する方法はありませんか? シフト表がLINEで 2 2023/06/14 12:16
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
- Excel(エクセル) 【エクセル」 特定のセルで条件抽出した列を、別シートに上から詰めて表示したい。 8 2022/04/08 16:00
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
Excel 日付を比較したら、同じ...
-
英数字のみ全角から半角に変換
-
会社PCのメールが更新されない
-
Outlookを立ち上げたらGoogleロ...
-
outlookのメールが固まってしま...
-
Excelで空白以外の値がある列の...
-
ウィンドウィズ メモ帳で日付だ...
-
Excelに貼ったリンクについて E...
-
Microsoft Formsの「個人情報や...
-
Excelで時間計算(負)
-
microsoft office
-
【Excel VBA】PDFを作成して,...
-
エクセルでXLOOKUP関数...
-
マイクロソフト 一時使用コード...
-
Outlookでの時間指定送信機能に...
-
【スプレドシート】目標達成の...
-
Googleのスプレッドシートでシ...
-
Microsoft Officeを2台目のPCに...
-
MicrosoftOfficeについて質問で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
【スプレッドシート】指定の日...
-
英数字のみ全角から半角に変換
-
会社PCのメールが更新されない
-
マイクロソフト 一時使用コード...
-
Office 2021 Professional Plus...
-
エクセルで例えば、関数を使っ...
-
Microsoft Formsの「個人情報や...
-
1つのPCに「Excel 2010」「Exc...
-
エクセルで例えば、A1に㈱ベ...
-
理由を教えてください。
-
エクセルでXLOOKUP関数...
-
マイクロソフト オフィスについて
-
VLOOKUP関数について
-
teams設定教えて下さい。 ①ビデ...
-
Googleのスプレッドシートでシ...
-
【Excel VBA】PDFを作成して,...
-
Microsoft365で写真をアルバム...
-
Outlook で宛先が複数の場合の人数
-
Excel テーブル内の空白行の削除
おすすめ情報