- 締切済み
エクセル関数について
エクセルで複式簿記の為に現金元帳と預金元帳を作成しました。 現金元帳と預金元帳を参照して売上元帳を作ろうと考えています。 現金元帳と預金元帳は A B C D E F 日付 勘定科目 摘要(企業名など) 借方 貸方 残高 となっており1月~12月のシートを作ってあります。 売上元帳を A C D 日付 摘要(企業名など) 借方(売上) このような表にしたいのですが 企業名を検索値にして VLOOKUPで作成しようとしたのですがその場合、D列の借方(売上)金額は表示できるのですが C列の左側のA列はエラー表示になってしまいます。 LOOKUPでも試しましたが日付がすべて同じ日付になってしまいます。 どのようにしたら上手く行くのか知恵を貸してください。 因みに 現金元帳で1ファイル(12シート) 預金元帳で1ファイル(12シート) 売上元帳で1ファイル(12シート) で作成しようとしています
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- hallo-2007
- ベストアンサー率41% (888/2115)
通りがかりです。 A列 =VLOOKUP(C2,[預金元帳.xlsx]預金1!$A$6:$D$52,1,0) 検索範囲が、預金元帳のA~D列ですよね。 Vlookup関数は一番左の列を検索して、何列右へと指定しますが A列は日付ですよね。 このあたりがおかしくありませんか。 C2は 摘要(企業名など)ですので、検索したいのはD列で、 取得するのが A列の日付ということであれば Vlookup関数は使えません。 代替案ですが INDEX関数とMATCH関数を組み合わせます。 A列 =Index(預金元帳.xlsx]預金1!A:A,MATCH(C2,[預金元帳.xlsx]預金1!D:D,0)) の様な使い方になります。 取得したいのが日付ですので SUMIF関数でも出来そうです。 A列 =SUMIF([預金元帳.xlsx]預金1!D:D,C2,([預金元帳.xlsx]預金1!A:A) の様な感じです。 但し、どちらにおいても 企業名などに 重複がない事 が条件です。 ですので、支払いが翌月にずれたりして、なかったり、2度あったりはすることはないのでしょうか。 振り込みがあって売上元帳が出来るのもおかしいような気がしますし 月ごとにシートが分かれて、年ごとにファイルが分かれている構成も無理があると思います。 エクセルの関数以前に、エクセルの活用の仕方(データベースとしてのシートの構成)について 見直されることをお勧めします。
- masamasa74
- ベストアンサー率28% (74/257)
書き忘れです。 ちなみに日付の書式設定は全て同じにしていますか? 「日付」や「文字列」や「数字」と、バラバラになっているとエラーになりますよ。
- masamasa74
- ベストアンサー率28% (74/257)
式には関係無いかも知れませんが、売上元帳のB列は空白なのですか? エラーとなっているA列とそれ以外の数式を教えてください(数式のコピペでOK)。 どこが間違っているか見た方が早いかと。
補足
正しく書きますと現金元帳と預金元帳は A B C D E F J 日付 コード 勘定科目 摘要 借方(収入) 貸方(支払) 残高 となっています 書式設定は全て同じです 売上元帳を A C D 日付 摘要(企業名など) 借方(売上) と書きましたが 正しくは A B C D E 振込日 現金回収日 摘要(企業名など) 借方(振込売上) 借方(現金売上) です 関数入力は A列 =VLOOKUP(C2,[預金元帳.xlsx]預金1!$A$6:$D$52,1,0) B列 =VLOOKUP(C2,[現金元帳.xlsx]現金1!$A$6:$D$54,1,0) C列 なし D列 =IFERROR(VLOOKUP(C2,[預金元帳.xlsx]預金1!$D$6:$E$54,2,0),"") E列 =IFERROR(VLOOKUP(C2,[現金元帳.xlsx]現金1!$D$6:$E$57,2,0),"") このように関数を入力しています D列とE列はエラーなく表示されています。