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

下記の図をご覧ください。

やりたい事は
・左にお客様住所リストがあります。
・お客様住所リストの住所について、道のねらいたい地域リストの都道府県・市町村群と一致する
 お客様の住所の横に、〇【何でも良い】が付合せできる、関数を教えて下さい
・例:東京世田谷区例1-1-1のお客様は、右のリストの東京都世田谷区と一致している為、〇と表示

宜しくお願い致します。

「住所の一部一致の検索について」の質問画像

A 回答 (4件)

No.1です。



reiko1117さんごめんなさい。
この場をお借りして、No.1さんへ・・・

一般的に
>ISNUMBER(FIND(○○)
とした場合、1セルが対象になると思います。
試しに前回の数式で「OR」をなくした数式にしてしまうとすべてが空白になると思います。
すなわちこの「OR」は
D1またはD2またはD3またはD4 といった使い方になるのではないでしょうか。

考え方としては「SUMPRODUCT」関数に似たような使い方だと思ってもらった方が良いと思います。

=IF(SUMPRODUCT((ISNUMBER(FIND(D$1:D$4,A2)))*1),"○","")
(配列数式ではありません) (←SUMPRODUCT関数なので実際は配列数式なのですが。)

のような感じでしょうか。

※ 経験上このパターンはこのやり方で・・・
といった具合に使ってきたやり方なので、上記説明が的確かどうかは判りません。m(_ _)m
    • good
    • 0

私も考えてみました。



B2から以下の数式を同列の下にドラッグコピー
配列の確定は不要です。

=IF(SUMPRODUCT(COUNTIF($A2,"*"&INDIRECT("D2:D"&COUNTA($D$1:$D$50))&"*"))>0,"◯","")

D列は、任意で入れてください。50個までは反応するはずです。
ただし、D列に空白の行が入ると全部に丸が入ります。

また、先頭からの文字列検索なら、
COUNTIF($A2,INDIRECT("D2:D"&COUNTA($D$1:$D$50))&"*")
アスタリスク("*")を取ればよいです。
    • good
    • 0

こんな方法も。


B2: =IF(MAX(LEN(A2)-LEN(SUBSTITUTE(A2,D$2:D$4,""))),"〇","")
【お断り】上式は必ず配列数式として入力のこと

この機会に[No.1]の tom04さんへ、
提示された式中の OR(ISNUMBER(FIND(D$1:D$4,A2))) の「OR」は何と何を対象としているのか教えてください。
一つは ISNUMBER(FIND(D$1:D$4,A2)) ですよね?もう一つは?
    • good
    • 0

こんにちは!



画像の配置だとB2セルに
=IF(OR(ISNUMBER(FIND(D$1:D$4,A2))),"○","")

配列数式なのでCtrl+Shift+Enterで確定! → フィルハンドルで下へコピーしてみてください。

※ D列は空白セルを範囲指定しないでください。
今後「地域リスト」が増える可能性がある場合は、アスタリクス「*」などで空白セルを埋めておき
もっと広い範囲を指定しておいても構いません。m(_ _)m
    • good
    • 0

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