• 締切済み

エクセル表について

質問の文章でうまく伝わらなければすみません 経理で、シート1にその日に入金出金の状況がかかれています シート2、3,4と個別にそれぞれの人の名前がかかれています シート2 Aさん シート3 Bさん ・・・・・と Aさんから2/22に入金5万円とシート2に書いたものをそのまま 全体の管理シート1に関連づけて記入できないでしょうか?

みんなの回答

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

例えば次のようにしてはどうでしょう。各シートはSheet1,Sheet2,Sheet3…となっているとします。 シート2以降のA1セルにはAさん、Bさんなどの文字が入力されているとします。 また、2行目には項目名が有り、A2セルには日付、B2セルには入金、C2セルには出金の文字が入力されているとします。 各データは3行目以降に入力されているとします。 そこでシート1に各シートのデータを表示させるのですが、それには作業のための行を用意します。 1行目ではB1セルに次の式を入力して右横方向にオートフィルドラッグコピーします。 =IFERROR(INDIRECT("Sheet"&COLUMN(B1)&"!A1"),"") エクセル2010以前の仕様でしたら =IF(ISERROR(INDIRECT("Sheet"&COLUMN(B1)&"!A1")),"",INDIRECT("Sheet"&COLUMN(B1)&"!A1")) これで各シートのA1セルに入力されているAさん、Bさんなどの名前が表示されます。 2行目ではA2セルには0を必ず入力します。次にB2セルには次の式を入力して右横方向にオートフィルドラッグコピーします。 =IF(B1="","",MAX($A2:A2)+COUNT(INDIRECT("Sheet"&COLUMN(B1)&"!A:A"))) A3セルには氏名、B3セルには日付、C3セルには入金、D3セルには出金と文字を入力します。 A4セルには次の式を入力したのちに右横方向にオートフィルドラッグコピーしたのちに下方にもオートフィルドラッグコピーします。 =IF(ROW(A1)>MAX($2:$2),"",IF(COUNTIF($2:$2,ROW(A1))=1,IF(COLUMN(A1)=1,INDEX($1:$1,MATCH(ROW(A1),$2:$2,0)),IF(AND(COLUMN(A1)>=2,COLUMN(A1)<5),INDEX(INDIRECT("Sheet"&MATCH(ROW(A1),$2:$2,0)&"!A:C"),ROW(A1)-INDEX($2:$2,MATCH(ROW(A1),$2:$2,0)-1)+2,COLUMN(A1)-1),"")),IF(COUNTIF($2:$2,ROW(A1))=0,IF(COLUMN(A1)=1,INDEX($1:$1,MATCH(ROW(A1),$2:$2,1)+1),IF(AND(COLUMN(A1)>=2,COLUMN(A1)<5),INDEX(INDIRECT("Sheet"&MATCH(ROW(A1),$2:$2,1)+1&"!A:C"),ROW(A1)-INDEX($2:$2,MATCH(ROW(A1),$2:$2,1))+2,COLUMN(A1)-1),""))))) 最後にB4セルから下のセルを範囲として選んで表示形式を日付に、また、C列からD列の4行目から下方のセル範囲を選択して表示形式を標準にします。 実際にこの条件で試験してみてください。あとはご自分のケースで工夫をしてみてください。

kaimama27
質問者

お礼

ご丁寧なご回答、大変助かりました いろいろ試してみます。 お忙しい中ありがとうございました!

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

漠然と出来る出来ないどうしたらいいのご質問ですが,有り体に言えば,エクセルではそういう使い方は出来ません,というかしません。 ○推奨 エクセルで行いたいなら,次のように作成します。 1.シート1に全員がどやどやと順不同で書き込みます 2.必要に応じて,関数やピボットテーブルレポートなどを使い,各人のシートにシート1から自分の分だけ抽出した結果を表示します ○まぁまぁ推奨 どうしてもご質問で書かれたような使い勝手をしたいなら,エクセルではなくアクセスを利用します。 ●あまり推奨ではない どうしてもエクセルしか使わずに,ご質問で書かれた使い勝手をしたいなら,エクセルでゴリゴリとマクロを組んでやれば,出来ます。 それなりにスキルが必要です。また単純に書き足すだけでなく,以前記録した内容の修正や削除に対応しようとすると,かなりの作り込みをしないとロクに使えません。 ×推奨ではない 丁寧に丁寧に作業用のシートを作って計算していけば,まぁ関数だけでも出来なくはありません。 が,少々荷が重い割に,得るモノはあまり無いかも知れません。 作成例: 各人のシートから,中間シートに値をそのまま参照する数式を並べる。 Aさんは中間シートの1行目から300行目まで,Bさんは中間シートの301行目から600行目まで,などのように。 中間シート上で,関数を使い,日付順に上から通し番号を計算する。 シート1に,中間シートで計算した通し番号順に,中間シートからデータを参照する関数を並べておく。 こういった作り込みの「具体的な数式」を手取り足取り代わりに書いて教えてほしいときは,アナタもそれなりにご自分の抱えている「具体的なエクセルの姿」と,ご自分ではここがわかりませんという部分を,手抜きせずに情報提供して,一回このご相談を解決で閉じてから改めてご相談を投稿してみてください。 このご相談の追加ご質問で,簡単に対応できる内容ではありませんので。

kaimama27
質問者

お礼

ご指摘ありがとうございます 知人からの質問を間接的にしてしまい、うまく伝えられませんでした。 お忙しい中お騒がせしました

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

>質問の文章でうまく伝わらなければすみません  ⇒この質問文では伝わりません。   例えば、シートの入力範囲をコピー→管理シートに貼り付け操作では駄目なのでしょうか。   駄目ならば、入力データ構成や転記タイミング等どのように転記したいのかを記載しない   事には埒が明きませんのでこの辺りをご検討の上、再質問した方が良いと思います。   又、エクセルについてはグレード名(エクセル2003等)を記載しましょう。

kaimama27
質問者

補足

ありがとうございます エクセルは2007です 経理なので毎日記入するごとに コピペするのが面倒で、個人シートに記入したのが そのまますぐに 全体シートに転記されれば間違いがなくていいな、と思いました これでわかるでしょうか?

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

シート1の、A2セルに=と記入後、シート2のA2をクリックし、シート1の、B2セルに=と記入後、シート2のA2をクリックして、下の行にドラッグコピーしてみてください。

kaimama27
質問者

お礼

質問内容が不完全で申し訳ありません ご回答ありがとうございました もう少し考えてみたいと思います

関連するQ&A

専門家に質問してみよう