[[20211121103014]] 『リストの文字列が含まれるか否かをチェックする方』(かぶ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『リストの文字列が含まれるか否かをチェックする方法※リストに空白セルが含む場合』(かぶ)

下記を実現したいのですが、上手くいかないため知恵をお借りしたいです。

■実現したい事
・リストの文字が含まれるか否かををチェックする関数を実現したい
※下記例ではリンゴジュース以外OK
・リストは今後増やす予定があるので、列指定(C列ならC:C)にしたい
・ファイル名(拡張子)を変えてはいけないファイルなので、VBA不可

■データおよび現状
●A列(検索元)
リンゴジュース
ほしぶどうパン
メロンパン
甘栗
オレンジジュース

●C列(検索先)
ぶどう
メロン
オレンジ

●現在の関数※空白行があると検索できない
=LOOKUP(0,0/FIND(C$2:C$5,A2),C$2:C$5)
・上記であれば検索できますが、リストに空白行が含まれると(C:Cにする等)上手くいかない
 ※FIND関数が空白セルを検知している?

< 使用 Excel:Excel2010、使用 OS:Windows10 >


 >>・ファイル名(拡張子)を変えてはいけないファイルなので、VBA不可
別ブック[マクロ]から操作すればファイル名(拡張子?)は変更しなくても
良いと思いますよ。
関数は。。。達人のご回答をお待ちくださいませ。。。^^:
m(_ _)m 
(隠居Z) 2021/11/21(日) 10:51

>隠居Zさん

ご回答ありがとうございます。
確かにその方法もありますね。

今回は不特定多数の人間が利用するファイルであるため、
可能な限り1ファイルかつ極力操作させない形で完結させたいと考えております。
情報が後出しとなり申し訳ございません
(かぶ) 2021/11/21(日) 11:03


m(_ _)m
(隠居Z) 2021/11/21(日) 11:11

 >現在の関数※空白行があると検索できない

 C列リストの中間に空白行が無いならば、ですが、

 =IF(ISNUMBER(LOOKUP(1,0/FIND(C$2:INDEX(C:C,MATCH("ー",C:C)),A2))),"OK","")
                    ↑
           ここは、0ではなく、1にしないと不測の結果が出るおそれがあります。   

(半平太) 2021/11/21(日) 11:31


>半平太さん

ご回答ありがとうございます。
MATCH関数で最終行を特定すれば良かったのですね。
勉強になりました。
また、"OK"or""にする部分についてもご教示いただきありがとうござます。

いただいた内容で要件を満たせる事を確認しましたが、
もしよろしければ、LOOKUPの第一引数を1にする理由をご教示いただけないでしょうか。
不勉強で申し訳ございません。

例えば、ほしぶどうパン行のLOOKUP関数内は
LOOKUP(1,{0/3=0,エラー値,エラー値,エラー値,エラー値})
となるため、第一引数が0以外では一致無しになると認識しておりますが、
こちらの想定と異なる結果となっております。
(かぶ) 2021/11/21(日) 12:00


すみません。上記の追加質問(LOOKUPの使い方)につきましては自己解決しましたので、本質問は完了とさせていただければと思います。
(LOOKUPは検索としてではなく配列に数字があるかを目的にしていたのですね)

お二方ともご回答ありがとうございました。

(かぶ) 2021/11/21(日) 12:42


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.