A B C D
1フリガナ⇒****
2 (部分一致可)
3検索結果
4 ** **** **** ******
5
6
7 1002 太田商事(株) オオタショウジ 東京都○○区…
8 1003 (株)ホリイ ホリイ 神奈川県厚木市
9 1004 折笠精工(株) オリカサセイコウ 静岡県浜松市
上記のような住所録で、B1にフリガナを入力(部分一致可)すると4行目に検索結果が抽出出来る方法はありませんか?
一応本を見て、MATCHで位置を調べ OFFSETで取り出す様に作成をしたのですが…MATCHだと、すべて一致しないとエラー値が出てしまいます。
No.3ベストアンサー
- 回答日時:
#2のNNAQです。
「*」はワイルドカード(任意の文字を意味する特殊文字)です。
B1にフリガナを入力するのに「*」をつけて「*ショウジ*」と入力すると、
ご質問の例だと「オオタショウジ」がヒットします。
「ショウジ*」で前方一致(「ショウジ」で始まる)、「*ショウジ」で後方一致(「ショウジ」で終わる)の検索となります。
フリガナ入力時に「*」をつけても良いですが、面倒だと思うので数式に入れてしまいます。
=MATCH("*"&B1&"*",C7:C100,0)
これで、B1に入力された文字を含む(部分一致・完全一致ともに可)検索になります。
A4=OFFSET(A6,MATCH("*"&B1&"*",C7:C100,0),0)
という感じでしょうか。
部分一致の場合、複数ヒットしても一番上の行のデータしか引っ張ってこれません。
(○○商事という会社がリストにいくつかあっても、太田商事が表示される。)
ですので、必要があれば=COUNTIF(C7:C100,"*"&B1&"*")で複数あるかどうか、数式に組み入れるか別セルに表示させた方が良いかもしれません。
この回答への補足
おかげさまで部分一致で検索出来る様に出来ました。
必要があれば=COUNTIF(C7:C100,"*"&B1&"*")で複数あるかどうか、数式に組み入れるか別セルに表示させた方が良いかもしれません。
と書いてあったのですが…
数式に組み込むには、どうすればいいのですか?
No.5
- 回答日時:
Q&Aは個人レッスンではないので・・・(^^;
ヒントだけね。
C1のCOUNTIFで出る値で、
「2以上」なら"複数あり"
「2以上では無い」なら検索
というのを、IF文で条件判定させた式を作れば良いです。
「2以上では無い」というのを、さらに条件追加して
「1」なら検索
「0」なら"該当なし"と表示させても良いし、
エラーのままでも構わないなら条件追加する必要は無し。
=IF($C1>=2,・・・,・・・
本を見ながら頑張ってね。
No.4
- 回答日時:
一例で、
A4=IF(COUNTIF($C7:$C100,"*"&$B1&"*")>=2,"複数あり",OFFSET(A6,MATCH("*"&$B1&"*",$C7:$C100,0),0))
部分一致が2つ以上あれば「複数あり」と表示、
1つなら該当データを表示、
無ければエラー(#N/A)が表示される。
あるいは、C1に=COUNTIF(C7:C100,"*"&B1&"*")
A4=IF($C1=1,OFFSET(A6,MATCH("*"&$B1&"*",$C7:$C100,0),0),"")
とか。
この回答への補足
ありがとうございます。
C1に=COUNTIF(C7:C100,"*"&B1&"*")
A4=IF($C1=1,OFFSET(A6,MATCH("*"&$B1&"*",$C7:$C100,0),0),"")
上記の様に設定しました。
複数ある場合に表示はできませんか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
End Ifに対応するIfブロックが...
-
PL/SQLでの文字列比較
-
LIKEの右側にカラムを指定でき...
-
Access & ADOで「'」のLIKE検索
-
whereで全てを検索する方法
-
MySQL 配列もどきを条件式に
-
INDIRECT関数の代替方法は?
-
AUTO_INCREMENTに0はダメ?
-
now()かCURRENT_TIMESTAMPか
-
SQLServerでNULLを挿入したいです
-
MySQLで先頭にカラムを追加
-
SELECT文で、指定カラム以外の...
-
カラムをコピーして、新規カラ...
-
DBの定義のサイズを大きくし過...
-
SQLです!!教えてください。
-
一部のカラムでdistinctし全て...
-
create tableのフィールド名
-
GREATESTで NULLをスルーする方...
-
select * での表示が崩れる?
-
group byで最後のレコードを抽...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
LIKEの右側にカラムを指定でき...
-
mysqlで50音順にorder byしたい。
-
WHERE `年月日` = '晴' OR `年...
-
直角三角形でもM、NはOと一致し...
-
複数カラムに対するLIKE文の最適化
-
スペースによる絞り込み検索をS...
-
PL/SQLでの文字列比較
-
whereで全てを検索する方法
-
LIKE演算子の%について教えて...
-
End Ifに対応するIfブロックが...
-
SQLステータス:37000について
-
場合の数 中学入試 5枚のカード
-
複数キーワードを複数カラムに...
-
Access & ADOで「'」のLIKE検索
-
mysqlのlike binaryでの前方一致
-
MySQLのあいまい検索について
-
MySQLで複数フィールドから同一...
-
私は相手の言葉と行動が一致し...
-
Accessで文字列の一部を抽出す...
-
SQL 複数条件を設定
おすすめ情報