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

データAへデータBの発注No.をもってくる
データAは、得意先No.として受注No.と集計No.のどちらかの番号
が入っています。
データBには、集計No.と受注No.とがわかれて入っています。
データA
   1    2
得意先No.  受注No.(データBの受注番号をもってくる)
3456789   589650
7898566   365897
996535    445268
885472    589415   

データAの得意先No.をキーにデータBの集計No.と仮受注No.を範囲を見て
受注No.をデータAの受注No.へもっていく
データB
  1      2     3
集計No.    仮受注No. 受注No.
3456789    878962   589650
7899566    984689   365897
8547895    996635 445268  
7814562    885472 589415

上記のような方式でデータをもってくる関数を教えてください。

A 回答 (5件)

不明点がいろいろとあるので、補足をお願いできますか。



使用ソフトはエクセルでしょうか。
エクセルだとして、バージョンは何でしょうか。
列を番号で表示させているということでしょうか。
データAの1列目には、データBの集計No.か仮受注No.かのいずれかが必ず入るということでしょうか。
集計No.や仮受注No.の並び順には規則性がありましょうか。
データA、Bそれぞれの行数はおおよそどのくらいでしょうか。

この回答への補足

ご返答ありがとうございます。
使用ソフトは、エクセルです。
xpですので、2003辺りです
はい、実際はA・B・C・・・・・・です
集計No.か仮受注No.のどちらかが入ります。場合はエラー表示にします
ここでは、簡単にかきましたが、実際は
データA(実績データ)
得意先No. を 得意先No.+商品コード+納品日+金額の数字に変えています。
(文字列)
(なぜかというと得意先No.には集計No.(受注No.の集合体)・受注No.単体)
データB(検収データ)
検収データには集計No.と受注No.が入っており、これも
A列(集計No.)集計No.+商品コード+納品日+金額の数字に変えています。
(文字列)
B列(仮受注No.)受注No.+商品コード+納品日+金額の数字に変えています。
(文字列)
C列 実際の受注No.です
並び順には規則性はありません。
多い時で5,000行~10、000行ある場合があります
この後データAに受注No.をもっていき、後にデータAに検収No.をもっていきます。
何卒よろしくお願い致します。

補足日時:2009/03/01 19:49
    • good
    • 0

No.1の者です。

そういう状態であれば、次のような数式でいかがでしょうか。

データAのあるシートのデータは1行目から存在し、データBのあるシート名を「データB」として、データAのあるシートのB1セルに次の数式を入力して、下方向にコピー&ペースト。
=IF(ISERROR(MATCH($A1,データB!$A:$A,0)),INDIRECT("データB!C"&MATCH($A1,データB!$B:$B,0)),INDIRECT("データB!C"&MATCH(A1,データB!A:A,0)))

実際の状態がちょっと掴めなかったので(申し訳ありません)、適宜変更してください。
    • good
    • 0
この回答へのお礼

ありがとうございます。
早速ためしてみます。
また解らない事が有りましたら、御返事
申しあげます。

お礼日時:2009/03/01 22:56

横から失礼します。



こんな式もありかなと書いてみました。もしOK2007さんの式でてこずられる場合はお試しください。

Sheet1のB2に
=IFERROR(VLOOKUP(A2,データB!$A$2:$C$99999,3,FALSE),VLOOKUP(A2,データB!$B$2:$C$99999,2,FALSE))

下へ必要数ドラッグ
    • good
    • 0
この回答へのお礼

ありがとうございます。
早速ためしてみます。
また解らない事が有りましたら、御返事
申しあげます。

お礼日時:2009/03/01 22:55

minosenninさん、フォローありがとうございます。



ただ、IFERROR関数はExcel2007から使用可能となっており、ssddqq8765さんがお持ちになっているだろうExcel2003では使えないんです・・・。

回避手段があると思うのですが、いかがでしょうか。

※ ssddqq8765さん、ご質問のスレッドを連絡掲示板のように使ってしまって、ごめんなさい。
    • good
    • 0
この回答へのお礼

ありがとうございます。
早速ためしてみます。
また解らない事が有りましたら、御返事
申しあげます。

お礼日時:2009/03/01 22:54

#3です。


失礼しました。IFERROR は2007以降でしたね。ISERRORに変えてみました。

=IF(ISERROR(VLOOKUP(A2,データB!$A$2:$C$99999,3,FALSE)),VLOOKUP(A2,データB!$B$2:$C$99999,2,FALSE),VLOOKUP(A2,データB!$A$2:$C$99999,3,FALSE))

こんな感じです。
    • good
    • 0
この回答へのお礼

ありがとうございます。
効率的作業ができました

お礼日時:2009/03/16 23:30

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