ここから本文です

エクセル初心者です。 飲食店の経理をすることになったのですが、売掛金の管理を...

iss********さん

2011/5/720:29:49

エクセル初心者です。
飲食店の経理をすることになったのですが、売掛金の管理をエクセルを使ってやることになりました。
ご教授お願いします。

項目としましては、シート1のA1のセルに売掛日、B1に氏名(お客様名)
C1に担当者
D1に金額といったかんじです。
シート2以降は担当者(10人くらいです)の名前別にシートをつくろうとおもいます。
シート1に入力したものを担当者ごとのシートに自動的に振り分けることは可能でしょうか?

補足forest_siriusさんのかんじみたいに1枚のシートに全部納めるのでなく、シート2を鳥居シート、シート3を風間シートとわけて管理したいのですが…わがままですいません。

閲覧数:
727
回答数:
6
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

kei********さん

編集あり2011/5/810:24:52

issinnjounotsugouさん

シートの枚数も多く、数式を多量に埋め込むと少しきついかも。。
マクロ案です。
担当者の氏名のシートを開くと、フィルタオプションで処理します。。

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If ActiveSheet.Name = "Sheet1" Then Exit Sub
On Error Resume Next
Range("IV1").Value = "担当者"
Range("IV2").Value = ActiveSheet.Name
Sheets("Sheet1").Columns("A:D").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("IV1:IV2"), CopyToRange:=Columns("A:D"), Unique:=False
End Sub

<マクロの張り付け方>
上記のコードをコピーして、、
そのワークシートの「シートタブ内」で右クリックして、「コードの表示」を選択すると、
VBE画面になりますので、
左の窓の「ThisWorkbook」をダブルクリックして、右の窓のカーソルのところに貼り付けます。
もう、この画面はいらないので右上の「×」をクリックすると、元のシートに戻ります。

<マクロの実行>
すべてのデータの入っているシート名は「Sheet1」とします。
担当者のシートを開くと実行されます。。

【追記】
各担当者のシートの1行目は
A1のセルに「売掛日」B1に「氏名」C1に「担当者」D1に「金額」と作っておいてネ。。

issinnjounotsugouさん

シートの枚数も多く、数式を多量に埋め込むと少しきついかも。。...

質問した人からのコメント

2011/5/8 13:15:22

成功 みなさんありがとうございました。

ベストアンサー以外の回答

1〜5件/5件中

並び替え:回答日時の
新しい順
|古い順

nis********さん

2011/5/806:36:10

Sheet名を担当者名とします。
AAAシートのA1へ担当者名を入力
A3=IF(COUNTIF(Sheet1!$D$2:$D$10,$A$1)<ROW(A1),"",INDEX(Sheet1!A$1:A$10,SMALL(INDEX((Sheet1!$D$2:$D$10<>$A$1)*10^5+ROW($A$2:$A$10),),ROW(A1))))
C3まで横へオートフィルして、A3:C3を適宜にフィルダウン
A列の書式を日付にします。

A、C列(あるいは範囲)をBBBシート以降にコピペしてそれぞれの担当者名を入力してください。

◆必要であれば
担当者シートのA1へSheet名を読み込む式
A1=REPLACE(CELL("filename",A1),1,FIND("]",CELL("filename",A1)),)
注)エラー(#VALUE!)が表示される場合は、一旦上書き保存して再度開いてください。

Sheet名を担当者名とします。 
AAAシートのA1へ担当者名を入力...

meg********さん

2011/5/803:47:41

鳥居シートの任意のセル(名前がでてもOKなところ)をクリック(上のほうがいいかな)

=(シート1の担当者の鳥居セルをクリック)

これで シート1の鳥居の名前と、鳥居シートがリンクされます。

kab********さん

2011/5/800:29:39

下の画像では「売上一覧」のシートでE列からG列まで作業列としています。
(この作業列の表示が必要なければ非表示にする)
「売上一覧」シート作業列は3人分で行っていますが、担当のシートは2人分しか出していません)

「売上一覧」シートで
E2 のセルに
=IF($C2<>E$1,"",COUNTIF($C$2:C2,E$1))
と式を入れて E2 のセルを G2 のセルまでフィルコピー。
更に、
E2:G2 の範囲を選択して下にフィルコピー。
(データが下に追加されてもよいところまで)

AAAAさんのシートで
A3 のセルに
=IF(MAX(売掛一覧!$E:$E)<ROW(A1),"",OFFSET(売掛一覧!$A$1,MATCH(ROW($A1),売掛一覧!$E:$E,0)-1,0))
B3 のセルに
=IF(MAX(売掛一覧!$E:$E)<ROW(B1),"",OFFSET(売掛一覧!$A$1,MATCH(ROW($A1),売掛一覧!$E:$E,0)-1,1))
C3 のセルに
=IF(MAX(売掛一覧!$E:$E)<ROW(C1),"",OFFSET(売掛一覧!$A$1,MATCH(ROW($A1),売掛一覧!$E:$E,0)-1,3))
と式を入れて、A3:C3 の範囲を選択して必要と思われるところまで下にフィルコピー。

BBBBさんのシートで
A3 のセルに
=IF(MAX(売掛一覧!$F:$F)<ROW(A1),"",OFFSET(売掛一覧!$A$1,MATCH(ROW($A1),売掛一覧!$F:$F,0)-1,0))
B3 のセルに
=IF(MAX(売掛一覧!$F:$F)<ROW(B1),"",OFFSET(売掛一覧!$A$1,MATCH(ROW($A1),売掛一覧!$F:FE,0)-1,1))
C3 のセルに
=IF(MAX(売掛一覧!$F:$F)<ROW(C1),"",OFFSET(売掛一覧!$A$1,MATCH(ROW($A1),売掛一覧!$F:$F,0)-1,3))
と式を入れて、A3:C3 の範囲を選択して必要と思われるところまで下にフィルコピー。

各シートの同じ項目の列の表示形式を同じにする。

ということを行っています。

「売上一覧」シートで下にデータが追加されると、それも担当者のシートにも反映されます。

下の画像では「売上一覧」のシートでE列からG列まで作業列としています。...

for********さん

編集あり2011/5/722:42:36

B3=IF($L3=B$2,$I$1*10000+$H3*100+$I3,"") D11までコピー
E3=IF(B3="","",RANK(B3,B$3:B$11,1)) G11までコピー
C15=IF(ISERROR(VLOOKUP($B15,$E$3:$K$11,4,FALSE)),"",VLOOKUP($B15,$E$3:$K$11,4,FALSE))
D15=IF(ISERROR(VLOOKUP($B15,$E$3:$K$11,5,FALSE)),"",VLOOKUP($B15,$E$3:$K$11,5,FALSE))
E15=IF(ISERROR(VLOOKUP($B15,$E$3:$K$11,6,FALSE)),"",VLOOKUP($B15,$E$3:$K$11,6,FALSE))
F15=IF(ISERROR(VLOOKUP($B15,$E$3:$K$11,7,FALSE)),"",VLOOKUP($B15,$E$3:$K$11,7,FALSE))
それぞれ下方向へコピー、VLOOKUP関数の列番号が列ごとちがいます。
H15=IF(ISERROR(VLOOKUP($G15,$F$3:$K$11,3,FALSE)),"",VLOOKUP($G15,$F$3:$K$11,3,FALSE))
C15とちがい参照範囲が右にずれ、列番号もマイナス1になります。
I15=IF(ISERROR(VLOOKUP($G15,$F$3:$K$11,4,FALSE)),"",VLOOKUP($G15,$F$3:$K$11,4,FALSE))
J15=IF(ISERROR(VLOOKUP($G15,$F$3:$K$11,5,FALSE)),"",VLOOKUP($G15,$F$3:$K$11,5,FALSE))
K15=IF(ISERROR(VLOOKUP($G15,$F$3:$K$11,6,FALSE)),"",VLOOKUP($G15,$F$3:$K$11,6,FALSE))
それぞれ下方向へコピー
M15=IF(ISERROR(VLOOKUP($L15,$G$3:$K$11,2,FALSE)),"",VLOOKUP($L15,$G$3:$K$11,2,FALSE))
N15,O15,P15は類推してください。
補足について
それぞれシート2、シート3に作れば同じですよ。セル参照の前にSheet1!$G15のようにシート名がつくだけです。このファイルでいえば、B14:F23をシート2に切り取り貼りつければ自動でシート名が追加されます。セルの参照だけでなくシートについても自動でエクセルが対応してくれますから。

B3=IF($L3=B$2,$I$1*10000+$H3*100+$I3,&quot;&quot;)...

bbb********さん

編集あり2011/5/721:12:57

売掛日 氏名 担当 金額
2月8日 鈴木 河野 1000






シート2
売掛日 氏名 担当 金額
2 鈴木 河野 1=SUMPRODUCT((MONTH(Sheet1!A2:A7=A2))*(Sheet1!B2:B7=B2)*(Sheet1!C2:C7=C2)*Sheet1!D2:D7)

あわせて知りたい

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる