アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルで別ファイルにデータを反映させる方法を教えて下さい。

Book1
A4~縦に氏名
B2~横に日付
B3~横に曜日となっていて、出勤日に○をつけています。

Book2
横に日付及び曜日
縦に出勤日に○の入っている人の名前を1ヶ月の表として作成したいのですが
その方法があれば教えて下さい。

A 回答 (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で確定します。
    • good
    • 0
この回答へのお礼

ご連絡が遅くなり申し訳ございません。

2つも教えて頂き、ありがとうございます。

これで何とか表ができそうです。ありがとうございました。
頑張って作成してみます。

お礼日時:2011/07/11 17:21

簡単な関数の組み合わせだけで計算してみます。



状況:
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だけを開いて確認しようとすると全部エラーになるので,注意が必要です。
    • good
    • 0
この回答へのお礼

ご連絡が遅くなり申し訳ございません。

色々なやり方があるんですね。

注意事項、ありがとうございました。

お礼日時:2011/07/11 17:17

元のデータは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は勿論、事前に立ち上げておくことが必要です。
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。

無事、これで作成できました。
ただ、横にするととてもデータが長くなることに気づいてしまい、
縦に日付 横に氏名を出すには、
どこを修正したらよいのかも教えて頂ければ幸いです。

お手数をお掛けいたしますが、宜しくお願い致します。

お礼日時:2011/07/08 18:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!