- ベストアンサー
カレンダーから別の表にまとめる方法
- カレンダーに記入された内容を別の表にまとめる方法について知りたいです。
- 表1を数式を使って表2にまとめる方法を教えてください。
- カレンダー形式の表から、小さい表に情報をまとめる方法を教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
だいぶ複雑な式になってしまいますが次のようにしてはどうでしょう。 表1がシート1に有るとしてA2セルから下方にお示しのような日付の表示が有るとします。B1セルから右横方向にはあかね、あゆみ、あつこといった名前が表示されているとします。 そこでお求めの表をシート2に表示させるとして、一人の名前につき2列を使って表示させることにします。 A1セルには次の式を入力して右横方向にドラッグコピーします。 =IF(OR(MOD(COLUMN(A1),2)=0,INDEX(Sheet1!$1:$1,ROUNDUP(COLUMN(A1)/2,0)+1)=0),"",INDEX(Sheet1!$1:$1,ROUNDUP(COLUMN(A1)/2,0)+1)) A2セルには次の式を入力して式を確定する段階でCtrlキーとShiftキーを押しながらEnterキーを押します。 式の両側には{ }が付いた式となります。 その式を右横方向にドラッグコピーしたのちに下方にもドラッグコピーします。 =IF(ROW(A1)>COUNTA(INDEX(Sheet1!$A:$XX,2,ROUNDUP(COLUMN(A1)/2,0)+1):INDEX(Sheet1!$A:$XX,1000,ROUNDUP(COLUMN(A1)/2,0)+1)),"",IF(MOD(COLUMN(A1),2)=1,INDEX(Sheet1!$A:$A,SMALL(IF(INDEX(Sheet1!$A:$XX,2,ROUNDUP(COLUMN(A1)/2,0)+1):INDEX(Sheet1!$A:$XX,1000,ROUNDUP(COLUMN(A1)/2,0)+1)<>"",ROW(B$1:B$999),10000),ROW(A1))+1),INDEX(INDEX(Sheet1!$A:$XX,2,ROUNDUP(COLUMN(A1)/2,0)+1):INDEX(Sheet1!$A:$XX,1000,ROUNDUP(COLUMN(A1)/2,0)+1),SMALL(IF(INDEX(Sheet1!$A:$XX,2,ROUNDUP(COLUMN(A1)/2,0)+1):INDEX(Sheet1!$A:$XX,1000,ROUNDUP(COLUMN(A1)/2,0)+1)<>"",ROW(B$1:B$999),10000),ROW(A1))))) 最後にA列C列…といった奇数の列をCtrlキーを押しながら選択したのちに右クリックして「セルの書式設定」の「表示形式」で「ユーザー定義」を選択し、種類の窓には m"月"d"日"(aaa) を入力してOKします。
お礼
KURUMITO様 アドバイスありがとうございます。お返事が遅れまして大変失礼いたします。試したところ、日付と名前がうまく反映されました!ありがとうございました。もう一点できればお教えください。ABC・・・と書いたところ、実際には4ケタの数字なのですが、これがSheet2では0になってしまいます。数字は、文字列がベストですが、数値として表示されてもさほど問題はありません。うまく反映させる方法あればお教えいただけないでしょうか。何卒よろしくお願いいたします。