[解決済み] MS Excel で部分文字列を使用して文字列のセルインデックスを検索する
質問
私はExcelのスプレッドシートでタスクを完了しようとしています。文字列のリストがあり、それぞれの文字列は少し長い文字列の部分文字列になっています。各文字列の部分文字列(セルインデックス)を長い文字列の範囲(列のセル範囲)に対して検索し、実際のセルインデックスに1を加えたもの(またはセルインデックスの数値部分に1を加えたもの、例えばB451 => 451+1 = 452)を返したいのですが、どうすればよいでしょうか?
例えば、シートのセルG2にある文字列 "AAA"を検索したいとします。 ソート済みデータ のセル範囲 B2:B1001 に対して、シート データオール で、文字列 "BAAAB" が見つかった、範囲 B2:B1001 のセルインデックス + 1 が必要です。文字列と部分文字列は一意であるため、複数ヒットする可能性はない。
この数式は、シートの1000列の下に拡張する必要があります。 ソート済みデータ しかし、検索範囲はずっと同じままです。
私は式を持っています
=COUNTIF('data_all'!$B$2:$B$1001,"*"&'sorted_data'!G2&"*") > 0
しかし、これはTRUEかFALSEを返すだけで、私が望むものではありません。何かアイデアはありますか?
解決方法は?
MATCHを使って行番号+1を返す
=MATCH("*"&G2&"*",$B:$B,0)+1
は
MATCH("*"&G2&"*",$B:$B,0)
は行番号を返し
+1
が1行追加されます。
そして、INDEXを使って、その行の任意の列の値を返すことができます。
=INDEX($A:$A,MATCH("*"&G2&"*",$B:$B,0)+1)
これは、マッチが見つかった下の行のA列の値を返すことになります。
ご覧のように、全列参照を使用しているため、データを損なうことなく大きくすることができます。 また、INDEX/MATCHは非常に最適化されているので、計算式の数は計算時間にそれほど大きな影響を与えません。
関連
-
[解決済み】「ワークシートクラスの貼り付けメソッドに失敗しました」が時々発生するのはなぜですか?
-
[解決済み] 閉じたワークブックから値を取得するExecuteExcel4Macro
-
[解決済み] VBAでイミディエイトウィンドウを消すには?
-
[解決済み] 複数のリファレンス値を調べた結果の合計
-
[解決済み] Excel の TEXT 式で 'yyyy' が年に変換されない
-
[解決済み] リスト内のアイテムのインデックスを検索する
-
[解決済み] Microsoft Excelで正規表現(Regex)をセル内とループの両方で使用する方法
-
[解決済み] ベクトル中のある要素のインデックスを求めるR関数はありますか?
-
[解決済み】Excel VBAでSelectを使用しないようにする方法
-
[解決済み] Excel用CSVファイルの生成、値の中に改行を入れるには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] XLSMをCSVで保存しようとすると、「オブジェクト_workbookのメソッドsaveasに失敗しました」エラーが発生する
-
[解決済み] Excel VBA マクロ。ユーザー定義型が定義されていない
-
[解決済み] MS Excel で部分文字列を使用して文字列のセルインデックスを検索する
-
[解決済み] Excel - 複数列の SUMIFS
-
[解決済み] VBA+エクセル+トライキャッチ
-
[解決済み] Excel =CELL("color",[Cell])関数
-
[解決済み】Excelで特定のテキスト値を自動的に日付に変換しないようにする。
-
[解決済み】Excelで数式から空のセルを返す。
-
[解決済み] Excel用CSVファイルの生成、値の中に改行を入れるには?
-
[解決済み] データ列全体の先頭または末尾の空白を削除する