アプリ版:「スタンプのみでお礼する」機能のリリースについて

下記のような表があります
支払先  金額   金利  差引支払額  相殺依頼金額
A社    1000    0    1000      0
A社    2000   500    1500      0
B社    2000   500    1500     1000
C社    1000    0    1000      0
D社    2000    0    2000     1000
D社    3000    0    3000      0
D社    1000    0    1000      0



これを

A社  御中

      お支払い通知
┌―――――――――――――――――――――┐
│支払先 │ 金額  │金利  │差引支払額 │ 
│A社  │  1000 │   0 │   1000 │
│A社  │  2000 │  500 │   1500 │
│      │       │     │      │ 
└─────────────────────┘
    相殺依頼金額     0円

このように、複数の列に分かれているデータを一括で
上記のように得意先ごとにまとめ、データを抽出したいの
ですが、VLOOK関数では2行目を検索してくれません。
何か良い方法があればご教授願いたいのですが…

みなさまお知恵を貸していただけませんでしょうか??
現在、すべて手作業で貼り付けを行なっております…。

A 回答 (6件)

[データ]→[フィルタ]→[オートフィルタ]でやってます。

この回答への補足

回答ありがとうございます。
説明不足ですみません、得意先に提出する書類のフォーマットに
表示させたいのです。
得意先によりデータ行数も違うし、金額も変わってくるので
現在、オートフィルタしたものを全て手作業で貼り付けしています。
得意先数が500社以上あるので、この作業にむやみに時間がかかって
いて…。

補足日時:2007/01/29 14:14
    • good
    • 0

こんにちわ。



VLOOKUPとADDRESSOF関数を組み合わせれば
出来ないことは無いですけど、それだとやっぱり
どこかしらで手作業が発生してしまいます。
ex. 得意先に提出するデータには関数が見えないように
  データで貼り付け直ししたり、他社のデータを消したり・・・

業務を効率化させたいとの要望ならば、マクロで
完全に自動化した方が後々便利だと思いますよ^^
    • good
    • 0

「A社」を指定したらA社の取り引き歴のリストが欲しいのですね。


http://oshiete1.goo.ne.jp/qa2667960.html
http://oshiete1.goo.ne.jp/qa2690879.html
のような過去の質問もあります。

関数の組み合わせで実現できますが、式が結構複雑になります。
そのため質問の内容だけで回答を書くと、開始行などが不明のためnatsu_kooさんが式の修正をしなくてはならなくなります。

過去問をご覧になった上でもう少し具体的に条件(検索会社名はどのセルに書く。リストの開始位置は? 等)を指定していただけると式も書けますが… (無論ご自身で修正できればベストです)
    • good
    • 0

方法の一例ですがA社の右に1列追加して、


B2=$A2&TEXT(COUNTIF($A:$2:$A2=$A2),"000")
として下方にコピーしてください。
支払先  No. 金額   金利  差引支払額  相殺依頼金額
A社   A社001 1000    0    1000      0
A社   A社002 2000   500    1500      0
B社   B社001 2000   500    1500     1000
C社   C社001 1000    0    1000      0
D社   D社001 2000    0    2000     1000
D社   A社002 3000    0    3000      0
D社   A社001 1000    0    1000      0
のように件数が表示されます。
この列を使って
支払先の1行目の名称=IF(COUNTIF(表の$A列,会社名)<ROW(A1),"",VLOOKUP(会社名&TEXT(ROW(A1),"000"),表の$B:$F列,COLUMN(A1),FALSE))
これをコピーして各列・行に貼り付ける。
会社名は御中の前のセルを絶対参照すれば良いかと思います。
    • good
    • 0
この回答へのお礼

不勉強なわたしに大変解りやすい解説ありがとうございました!
とても参考になりました!!

お礼日時:2007/01/29 18:32

過去に同様の質問に対して回答した方法ですが如何でしょうか。


データをSHEET1(1000行)、表示をSHEET2とし、表示シートのA1に得意先社名が入力される事としています。
(1)表示シートのA5セル(仮です)に
  =IF(ROW($A1)-1<COUNTIF(Sheet1!$A$1:$A$1000,$A$1),INDEX(Sheet1!A:A,SMALL(IF(Sheet1!$A$1:$A$1000=$A$1,ROW($A$1:$A$1000),65536),ROW($A1))),"")
を設定し、縦横に必要分コピーして下さい。
 但し、配列数式の為、入力完了時にshift+ctrl+enterキーを同時押下して下さい。
(2)相殺依頼金額は、合計する事を想定し
  =SUMIF(SHEET1!A:A,$A$1,SHEET1!E:E)
 で如何でしょうか。
    • good
    • 0
この回答へのお礼

ありがとうございました!
解決いたしました!!
大感謝です!

お礼日時:2007/01/29 18:30

この程度の物なら、VBAのテキストに同じようなものがのっています。

関数や貼り付けでやるとミスが出ますので、請求シートのドロップダウンリストから、会社名を選んだら、別シートにある上記のデータから、一致する物を選んで、データの最後まで検索をくりかえし、請求シートにコピーするようにしています。(For~NextとIfでできます。)これだと件数が増減しても問題ありません。一度この方法でできると汎用性が高いので、色々な物に使えます。是非VBAを勉強してください。
    • good
    • 0

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