Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


13187 / 13646 ツリー ←次へ | 前へ→

【6596】INDEXを使った式を入力する ぴょん 03/7/14(月) 10:29 質問
【6610】Re:INDEXを使った式を入力する bykin 03/7/14(月) 22:48 回答
【6618】Re:INDEXを使った式を入力する ぴょん 03/7/15(火) 13:46 質問
【6634】Re:INDEXを使った式を入力する bykin 03/7/15(火) 23:17 回答
【6638】Re:INDEXを使った式を入力する ぴょん 03/7/16(水) 14:14 お礼

【6596】INDEXを使った式を入力する
質問  ぴょん  - 03/7/14(月) 10:29 -

引用なし
パスワード
   VBA初心者です。
いろいろ試したのですが、うまくいかないので
教えてください。

Sheet1とSheet2という二つのシートがあります。
Sheet1には以下のようなデータが入っています。

   A   B  
1 担当者 品番
2 イトウ CFS
3 イヌイ HPS
4 タケイ HSJ
5 ワダ  HPS
  ↓
  以下つづく

Sheet2には以下のようなデータが入っています。

   A    B    C
1  品番  担当者 
2  HPS  
3  HSJ   ワダ
4  HPS  
5  CBC   イヌイ
   ↓
  以下つづく

このようなデータで、Sheet2のC列に
以下のような式を入力したいのです。
<条件1>
もしSheet2のB列に担当者名が入っていれば、
その名前をそのまま表示する。
<条件2>
もしSheet2のB列の担当者名が空欄ならば、
Sheet2の品番と一致する品番をSheet1の品番
から探し出して、品番同士が一致すれば、
その担当者名をSheet2のC列に表示する。

INDEXとMATCH関数を使えばいいのはわかるのですが、
Sheet1、Sheet2はどちらもデータ数が不特定なので
その式の作り方がよくわかりません。
教えてください。
よろしくお願いします。

【6610】Re:INDEXを使った式を入力する
回答  bykin  - 03/7/14(月) 22:48 -

引用なし
パスワード
   こんばんわ。

VBAやのうて数式でええのかな?

Sheet2のC2に =IF(B2="",IF(ISERROR(MATCH(A2,Sheet1!B:B,0)),"",INDEX(Sheet1!A:A,MATCH(A2,Sheet1!B:B,0))),B2)
って入れて、下までコピーしたらええんとちゃいまっか?

試してみてな。
ほな。

【6618】Re:INDEXを使った式を入力する
質問  ぴょん  - 03/7/15(火) 13:46 -

引用なし
パスワード
   回答ありがとうございます。
数式を入れてみると確かに表示されました。

しかし、私がしたいのは、ただの数式の入力ではなく、
途中で空白を含むsheet2のA列の最終行を調べて、
その最終行と同じ行まで
C列に入力したこの数式をオートフィルでコピーしたいのです。

これにはどういう式を使えてばよいのでしょうか??

【6634】Re:INDEXを使った式を入力する
回答  bykin  - 03/7/15(火) 23:17 -

引用なし
パスワード
   こんばんわ。

>しかし、私がしたいのは、ただの数式の入力ではなく、
>途中で空白を含むsheet2のA列の最終行を調べて、
>その最終行と同じ行まで
>C列に入力したこの数式をオートフィルでコピーしたいのです。

そんならそうと最初に書いてもらわんと・・・

>これにはどういう式を使えてばよいのでしょうか??

式ってのはVBAコードの意味なんかな?
それでええんやったら・・・

Sub test()
  Range(Cells(2, 1), Cells(Rows.Count, 1).End(xlUp)).Offset(, 2).Formula = _
    "=IF(B2="""",IF(ISERROR(MATCH(A2,Sheet1!B:B,0)),"""",INDEX(Sheet1!A:A,MATCH(A2,Sheet1!B:B,0))),B2)"
End Sub

こんなんでええのかな?
ほな。

【6638】Re:INDEXを使った式を入力する
お礼  ぴょん  - 03/7/16(水) 14:14 -

引用なし
パスワード
   私の質問の仕方が悪かったようで、
お手間をかけました。
すいません。

教えていただいた式で、ちゃんとできました。
ありがとうございました!!

13187 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free