- 締切済み
エクセル 特定文字列のセル番号を返したい
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- keithin
- ベストアンサー率66% (5278/7941)
シンプルに。 I2に =SUMIF(B2:F2,"AAA",C2:G2) と記入、セルの書式設定の表示形式のユーザー定義で # と設定しておきます。 セル番地とかは使いません。
- bunjii
- ベストアンサー率43% (3589/8249)
>どうもうまくいきませんm(__)m どのような数式を使ったかを提示して頂ければ考え方の誤りを説明できます。 H2セルへは同じ行のA列からG列に"AAA"が入力されているセルの番地を求めます。 それにはADDRESS関数を使います。 行番号は数式と同じ番号ですからROW()でH2セルではROW(H2)と等価の2が適用されます。 列番号はMATCH関数を使って同じ行の"AAA"が入力された位置を検出します。 従って、H2には次の数式を入力すれば良いでしょう。 =ADDRESS(ROW(),MATCH("AAA",A2:G2,0),4) 但し、"AAA"が見付からなかったときはエラーになりますので、IFERROR関数でエラーのときは空欄("")とするようにします。 =IFERROR(ADDRESS(ROW(),MATCH("AAA",A2:G2,0),4),"") I2(質問ではG2)にはセルのADDRESSではなく値を抽出しますので、INDEX関数またはOFFSET関数で目的のセル位置から入力されている値を取り出します。 INDEX関数の場合はADDRESS関数と同様にMATCH関数で列位置を指定しますが、位置は右隣なので1を加えます。 行位置は同じ行なので1または指定なしとします。 =IFERROR(INDEX(A2:G2,MATCH("AAA",A2:G2,0)+1),"") OFFSET関数の場合は指定セルからの距離(セル数)を行と列について指定しますので、位置についてはINDEX関数で使う数値より1少ない数値になります。 =IFERROR(OFFSET(A2,0,MATCH("AAA",A2:G2,0)),"")
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは! すでに色々回答は出ていますが・・・ H2セルに =IFERROR(ADDRESS(ROW(),MATCH("AAA",A2:F2,0),4),"") I2セルに =IFERROR(OFFSET(INDIRECT(H2),,1),"") という数式を入れフィルハンドルで下へコピー! これでも大丈夫だと思います。m(_ _)m
余計な講釈はナシにして、次では如何? H2: =IF(ISERROR(MATCH("AAA",B2:F2,0)),"",CHAR(65+MATCH("AAA",B2:F2,0))&ROW()) I2: =IF(H2="","",INDEX(B2:G2,MATCH("AAA",B2:F2,0)+1))
- mt2008
- ベストアンサー率52% (885/1701)
取り敢えずこんな感じでしょうか 質問文にはG2セルとありましたがI2ですよね? H2:=IFERROR(ADDRESS(ROW(),MATCH("AAA",A2:G2),4),"") I2:=IFERROR(OFFSET(A2,,MATCH("AAA",A2:G2)),"")
- Chiquilin
- ベストアンサー率30% (94/306)
いちいちセル番地を一度表示させる意味がありません。 =INDEX(B2:H2,MATCH("AAA",B2:H2,0)+1)