プロが教える店舗&オフィスのセキュリティ対策術

Sheet2のセル(J1)にSheet1のA列のデータを入力することでSheet1に入力してある他の列のデータをSheet2の任意のセルに表示させているのですが、ある文字(k)を含むデータの場合だけ異なる表示(ABC)をさせたいのですが、下記数式では「正しくない」と叱られています。

数式:
=IF(COUNTIF(VLOOKUP($J$1,Sheet1!$A$2:$L$200,2,FALSE),"*k*"),"ABC",(VLOOKUP($J$1,Sheet1!$A$2:$L$210,2,FALSE)))

Sheet1:
番号 サブNo. DATA1 DATA2 ・・・
100  k321  あ   い ・・・
101   321  う   え
102  k456  お   か
103   789  き   く

のようなデータシートです。
上記数式をどのように直せば「サブNo.」に「k」を含むデータを「ABC」と表示させ、含まない時は「サブNo.」を表示させられるのでしょうか、ご教授ください。
よろしくお願いします。

A 回答 (4件)

IF(Find(Vlookup(~),"*k")>0 ,"ABC",Vlookup(~))

    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。
しかしエラーがでてしまいました。

お礼日時:2006/03/21 14:26

もっと詳しい方がお応えすると良いと思うのですが,お急ぎなのに,回答が寄せられていないので...



"*k*"と指定してしまうと,*は1つの文字として認識されます。
それにワイルドカードは使用できなかったように思うのですが....
vlookupは検索条件をtrueにすると,あいまい検索になったように記憶しております。

補足をお願いしたいのですが,k321は文字列,321は数値として認識できるのでしょうか?
    • good
    • 0
この回答へのお礼

お忙しいところ親身にご回答頂き、ありがとうございます。
#3の方の計算式で思ってたとおりの結果を出すことができました。ありがとうございました。
ちなみにk321は文字列、321は数値です。

ありがとうございました。

お礼日時:2006/03/21 14:19

=IF(ISERROR(FIND("k",VLOOKUP($J$1,Sheet1!$A$2:$L$200,2,FALSE))),(

VLOOKUP($J$1,Sheet1!$A$2:$L$210,2,FALSE)),"ABC")
    • good
    • 0
この回答へのお礼

ありがとうございました、思ったとおりの結果が出ました。ホントにありがとうございました。

お礼日時:2006/03/21 14:15

IF関数は、ストレートにはワイルドカードに*は使えない。


CountIFは使えます。
k321
321
k456
789
12K
で=COUNTIF(B1:B5,"*k*")で3になります。
例えばF1に =COUNTIF(B1,"*k*")
F5まで複写すると
100k321あい1
101321うえ0
102k456おか1
103789きく0
11212Kおえ1
となります。ですから
=IF(COUNTIF(B1,"*k*")=1,"ABC",VLOOKUP(・・・))
でどうですか。
FIND関数はワイルドカードは使えないが、SEARCH関数は使えます。
なおKは半角・全角に注意してください。上記例では半角に統一。
    • good
    • 0
この回答へのお礼

ありがとうございました。#3の方のご回答で思ったとおりの結果を出すことが出来ました。
お忙しいところお手数おかけしました、ありがとうございました。

お礼日時:2006/03/21 14:24

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