【3月6日実施】システムメンテナンス実施のお知らせ

お世話になります。
Excelの関数に関して質問させていただきます。

特定の範囲からある値を検索し、そのセルの番地(または行・列番号)を取得したいのですが、関数で可能でしょうか。

検索値は:ぢ
---------------------------------------
|  あ  |  い  |  う  |  え  |  を  |
---------------------------------------
|  だ  |  ぢ  |  づ  |  で  |  ど  |
---------------------------------------

このとき"う"の入っているセルの番地(または行・列番号)を取得したい。

既出でしたらすいません。
よろしくお願いいたします。

A 回答 (2件)

こんにちは。

maruru01です。

前提条件として、検索範囲内のデータは重複がないものとします。
検索データ範囲をA1:E2、検索値を入力するセルをF1とします。
行番号は、

=IF(COUNTIF(A1:E2,F1),INT(SUMPRODUCT((A1:E2=F1)*(ROW(A1:E2)+COLUMN(A1:E2)/1000))),"")

です。("う"なら、「1」になります。)
列番号は、

=IF(COUNTIF(A1:E2,F1),ROUND(MOD(SUMPRODUCT((A1:E2=F1)*(ROW(A1:E2)+COLUMN(A1:E2)/1000)),1)*1000,),"")

になります。("う"なら、「3」になります。)
セル番地は、

=IF(COUNTIF(A1:E2,F1),ADDRESS(ROUND(MOD(SUMPRODUCT((A1:E2=F1)*(ROW(A1:E2)+COLUMN(A1:E2)/1000)),1)*1000,),INT(SUMPRODUCT((A1:E2=F1)*(ROW(A1:E2)+COLUMN(A1:E2)/1000))),4),"")

になります。("う"なら、「C1」になります。)
    • good
    • 27

  A B C D E F G


1 あ い う え を
2 だ ぢ づ で ど
            ぢ 式

上図のようなセル位置に文字が入力されているとします。


F3に検索する文字「ぢ」が入力されていて、
G3 に「ぢ」があるセルの右上のセル(「う」のセル)の番地を表示してみます。

 =SUBSTITUTE(CELL("address",OFFSET(A1,0,MATCH(F3,A2:E2,0))),"$","")

式の意味は、
 MATCH(F3,A2:E2,0) で F3 の「ぢ」と同じ値のあるセルをA2:E2で探しています。
 
 OFFSET(A1,0,MATCH(F3,A2:E2,0)) で、探した位置の右上を決めています。
 
 SUBSTITUTE(CELL("address",OFFSET(A1,0,MATCH(F3,A2:E2,0))),"$","")
  最後に、セル座標に「$」が付いているので SUBSTITUTE で削除しています。


検索する範囲は「だぢづでど」の1行、最終的に求めるセルは、検索する値のあるセルの
右上を求めています。検索する範囲が複数行なら、別の計算式が必要でしょう。
     (質問で、なぜ右上が必要かよく分かりません)

また、検索する値が見つからないとき、エラー表示を回避するには、
 =IF(ISERROR(MATCH(F3,A2:E2,0)),"",
   SUBSTITUTE(CELL("address",OFFSET(A1,0,MATCH(F3,A2:E2,0))),"$",""))
とします。
    • good
    • 7

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A