はじめに
ある文字列のセル位置を求めて、ごにょごにょする必要があったので、最初にVBAのFindメソッドを使用したところ処理にあまりに時間が掛かったので、別案のMATCH関数を使用したことを備忘として残しておく。
MATCH関数の使い方
=MATCH(検査値,検査範囲,照合の型)
サンプル
A | B | C | |
---|---|---|---|
1 | みかん | いちご | =MATCH(B1, A:A, 0) |
2 | りんご | ぶどう | =MATCH(B2, A:A, 0) |
3 | いちご | れもん | =MATCH(B3, A:A, 0) |
4 | さくらんぼ | ||
5 | ぶどう | ||
6 | なし | ||
7 | おれんじ | ||
8 | れもん | ||
9 | めろん | ||
10 | すいか |
結果
A | B | C | |
---|---|---|---|
1 | みかん | いちご | 3 |
2 | りんご | ぶどう | 5 |
3 | いちご | れもん | 8 |
4 | さくらんぼ | ||
5 | ぶどう | ||
6 | なし | ||
7 | おれんじ | ||
8 | れもん | ||
9 | めろん | ||
10 | すいか |
おわりに
なぜこんなしょーもないことを備忘に残しておくかというと、Findメソッドを使用した場合には数時間掛かっていた処理が、MATCH関数を使用した場合には数分で終わったので感動したためである。(実際はその他の関数など組み合わせてごにょごにょした)
参考
・https://www.limecode.jp/entry/trap/find-method
・https://officedic.com/excel-vba-highspeed-find/
・https://excel-ubara.com/excelvba4/EXCEL225.html