[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『曜日別利用者の名前を、別シートの表に自動的に表示させたい』(蝮)
シート1には縦に氏名、横に曜日という単純な表を作成し、曜日ごとの利用予定を例えば「1」等と入力します。
シート2以降は月曜から日曜まで曜日ごとに表を作成し、そこへ利用予定に合わせた氏名を表示させたいのです。
aさんは月曜と水曜と木曜に利用予定があり
bさんは火曜と水曜に利用予定が
cさんは月曜と木曜と金曜に利用予定があるといった場合、
月曜のシートにはaさんとcさんが自動的に表示され、火曜のシートにはbさんのみが、また水曜のシートにはaさんとbさんが、木曜のシートにはaさんとcさん、金曜のシートにはcさんのみ、土曜と日曜には氏名表示なしといった具合です。
このような機能はエクセルにありますでしょうか。
< 使用 Excel:Excel2013、使用 OS:Windows10 >
(γ) 2019/01/08(火) 23:12
シート2(月)
山田花子
佐藤次郎
シート3(火)
田中太郎
佐藤次郎
という具合に抽出して上から順に表示させたいのです。シート2以降は他にも必要な情報が多数あり、手入力しプリントアウト後も加筆修正必須といったところです。
これまで、シート2以降の表を手入力で毎日作っていましたが、当日になっても訂正が多い業態なため、業務の効率化・書類の精度向上を目的に試行錯誤しているところです。
INDEXで試してみたりしていますが、勉強不足がたたりいまだにうまくいきません。
ご教示くだされば幸いです。
(蝮) 2019/01/08(火) 23:44
回答ではないです。
>シート1には縦に氏名、横に曜日という単純な表を作成し、
とあるのに、上の表では縦に曜日、横が氏名となってますが、どちらが正しいんですか? (ぬっ子) 2019/01/09(水) 06:21
Dim c As Range, r As Range For Each c In Sheets("Sheet1").Range("A1:A" & Rows.Count).SpecialCells(2) If Not Evaluate("isref('" & c.Value & "'!a1)") Then Sheets.Add after:=ActiveSheet ActiveSheet.Name = c.Value Else Sheets(c.Value).Cells.ClearContents End If For Each r In Sheets("Sheet1").Rows(1).SpecialCells(2) If r.Offset(c.Row - 1) <> "" Then Sheets(c.Value).Range("A" & Rows.Count).End(xlUp).Offset(1).Value = r.Value Next r Next c End Sub (mm) 2019/01/09(水) 12:44
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.