- ベストアンサー
転記
Sheet1 月日 借方 貸方 金額 適用 1 H21.10.10 燃料費 現金 10,000 ガソリン代 2 H21.10.25 現金 普通預金 15,000 引出 Sheet2 燃料費元帳 月日 科目 適用 借方 貸方 1 H21.10.10 現金 ガソリン代 10,000 Sheet3 現金元帳 月日 科目 適用 借方 貸方 1 H21.10.10 燃料費 ガソリン代 10,000 2 H21.10.25 普通預金 引出 15,000 Sheet1に入力した項目をSheet2,3に転記したいのですが何か良い方法はありませんか?IF関数を用いていろいろ試しましたがダメでした。 どなたかよろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
KURUMITOさんへ >G2セルには次の式を入力しH2セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 肝心のG2セルの数式が提示されていません。 また、揮発性関数のINDIRECTやOFFSETは極力使わないほうがよいです。 計算対象外のセルに値を入力しても再計算します -------------------- 数式だと少々厄介ですね。 Sheet1において作業セル H2:J2セルまで0 H3セル =SUM(($C2=H$1)+($D2=H$1),H2) 右へ下へオートフィル(1行ずれているのがポイントになる) Sheet2 D2セル 対象となる項目名(普通預金) 対象の個数を数える A1セル =SUM(($C2=H$1)+($D2=H$1),H2) 作業セルの横の位置 =MATCH(D1,Sheet1!H1:J1,0) 0からの連番 A2セル =IF(ROW()-2>=$A$1,"",ROW()-2) 対象の行番号 B2セル =IF(A2="","",MATCH(A2,INDEX(Sheet1!$H:$J,,$B$1))) 借方か否か C2セル =IF($A2="","",INDEX(Sheet1!C:C,B2)=$D$1) E2セル =IF($A2="","",INDEX(Sheet1!B:B,B2)) F2セル =IF(A2="","",INDEX(Sheet1!C:D,B2,C2+1)) G2セル =IF($A2="","",INDEX(Sheet1!F:F,$B2)) H2セル =IF($A2="","",IF($C2,INDEX(Sheet1!$E:$E,$B2),"")) I2セル =IF($A2="","",IF($C2,INDEX(Sheet1!$E:$E,$B2),"")) D2セルの項目を変えれば表が変化します Sheet1で項目がもっとあると思うのでI列J列間に列を挿入して書き足します
その他の回答 (3)
- KURUMITO
- ベストアンサー率42% (1835/4283)
No2です。 シート1でのG2セルへの入力の式は次のようになります。 =IF($A2="","",IF(COUNTIF($B2:$C2,G$1)=1,MAX(G$1:G1)+1,"")) H2セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。
- KURUMITO
- ベストアンサー率42% (1835/4283)
ご質問のA1セルに20090713を平成21年7月13日のようにB1セルに表示するとしたら次のような式になります。 =TEXT(TEXT(A1,"0000!/00!/00"),"ggge年m月d日") ところでご質問のシート1から燃料費元帳や現金元帳に転記する件ですが内容が複雑なだけに手が込んでいますが、次のようにすれば一気にシート1での入力したデータが各シートに記載されるようになるでしょう。 シート1には作業列を設けます。 1行目に項目名がありデータは2行目からあるとします。 G1セルには燃料費、H1セルには現金と入力します。 G2セルには次の式を入力しH2セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 次にシート2に移ります。1行目には項目名でA1セルに月日、B1セルに科目、C1セルに摘要、D1セルに借方、E1セルに貸方と入力されているとします。 A2セルには次の式を入力し、下方にオートフィルドラッグします。 =IF(COUNTIF(Sheet1!$G:$G,ROW(A1))=0,"",INDIRECT("Sheet1!A"&MATCH(ROW(A1),Sheet1!$G:$G,0))) B2セルには次の式を入力し、下方にオートフィルドラッグします。 =IF(COUNTIF(Sheet1!$G:$G,ROW(A1))=0,"",INDEX(Sheet1!$A:$X,MATCH(ROW(A1),Sheet1!$G:$G,0),IF(INDIRECT("Sheet1!B"&MATCH(ROW(A1),Sheet1!$G:$G,0))="燃料費",3,2))) C2セルには次の式を入力し、下方にオートフィルドラッグします。 =IF(COUNTIF(Sheet1!$G:$G,ROW(A1))=0,"",INDIRECT("Sheet1!$E"&MATCH(ROW(A1),Sheet1!$G:$G,0))) D2セルには次の式を入力し下方にオートフィルドラッグします。 =IF(COUNTIF(Sheet1!$G:$G,ROW(A1))=0,"",INDEX(Sheet1!$A:$X,MATCH(ROW(A1),Sheet1!$G:$G,0),IF(INDIRECT("Sheet1!B"&MATCH(ROW(A1),Sheet1!$G:$G,0))="燃料費",4,10))) E2セルには次の式を入力し下方にオートフィルドラッグします。 =IF(COUNTIF(Sheet1!$G:$G,ROW(A1))=0,"",INDEX(Sheet1!$A:$X,MATCH(ROW(A1),Sheet1!$G:$G,0),IF(INDIRECT("Sheet1!B"&MATCH(ROW(A1),Sheet1!$G:$G,0))="燃料費",10,4))) これらにならってシート3も作成すればよいでしょう。
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
データ - フィルタ - フィルタオプションの設定 で 借方 貸方 ガソリン代 ガソリン代 同様に 借方 貸方 現金 現金 といった条件の表(Criterria)を作成する 抽出先のシートでフィルタオプションを行うのがポイントです 添付図参照 と思いましたが、もう一工夫必要そう G6 =IF(A6="","",SUM(G$5:G5,1)) H6 =IF(G6="","",A6) I6 =IF(G6="","",IF(B6="現金",C6,B6)) J6 =IF(G6="","",E6) K6 =IF(G6="","",IF(B6="現金",D6,"")) L6 =IF(G6="","",IF(B6="現金","",D6)) G6:L6を下へオートフィル ちなみに適用じゃなくて摘要じゃないかなあ 簿記はプロじゃないので参考まで
お礼
早速のご回答ありがとうございます。 そのようにやってみます。 それと、A1に20090713と入力してB1に平成21年7月13日と 表示させるにはどうすればよいでしょうか? B1に=TEXT(A1,"0000!/00!/00")*1をつかえばできますが、 A1セルだけで日付をB1に返す方法ありますか?
お礼
お礼が遅くなってすみません。 仕事が終わり次第さっそく試してみます。