プロが教えるわが家の防犯対策術!

エクセルで下記のような表を作りたいと思います。

・受注案件の請求月別一覧表
・まず、入力表の行に、受注した「案件名」、「金額」、「請求月」などを入力していきます。
・「請求月」に入力された数値によって、自動的に、その月ごとに用意された表に自動的にコピーされるような仕組み。
・たとえば「請求月」を12と入力した場合、12月請求案件一覧表にそのままコピーされる。(項目は同じ)

説明しずらくてすみません。ご不明点あればお聞きください。
よろしくお願いいたします。

A 回答 (2件)

完成された入力表をフィルターオプションを利用して


12月の場合:請求月が12月の物のみを抽出しコピー貼り付け
この場合は関数などの利用無しでそのまま実現可能。

入力表が
A___B___C___D_
1__案件__金額__請求月   
2__AAA__1000__11
3__BBB___500__12

こんな感じの場合A1セルに=D2*10000+ROW()下方向コピー
12月請求案件一覧表のA1セルに月数の入力
2行目に案件・金額・請求月各項目名ををB列から入力
A3に
{=LARGE(Sheet1!$A$2:$A$9*(Sheet2!$A$1=Sheet1!$D$2:$D$9),ROW()-2)}
これを下方向にコピー
B3
=VLOOKUP($A3,Sheet1!$A$2:$D$9,2,0)
C3
=VLOOKUP($A3,Sheet1!$A$2:$D$9,3,0)
D3
=VLOOKUP($A3,Sheet1!$A$2:$D$9,4,0)
B3:D3を下方向にコピー
データーはSheet1の2行目から9行目まで入っている物として作っています

注:エラー処理はしていないので未入力の項目はエラーになります、12月請求案件一覧表には新しく入力したデーターが上になってしまいます。

こんな感じで良いようなら関数を利用しても可能

VBAを利用すれば作業セルの必要も無く、さまざまな形態へも応用は効くと思いますがめんどくさいのでパスw
    • good
    • 0

ちなみにA3の入力は配列関数なので


=LARGE(Sheet1!$A$2:$A$9*(Sheet2!$A$1=Sheet1!$D$2:$D$9),ROW()-2)
を貼り付けて[Shift]+[Ctrl]+[Enter]で入力となります
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!