• ベストアンサー

EXCELの行番号取得について

A列に●がランダムに入っている状態で、1番目に●が入っている行番号、2番目に●が入っている行番号、3番目・4番目・・・の行番号を関数で取得したいのですが、良い方法はありますでしょうか。ご教授下さい。(バージョンはEXCEL2016です) よろしくお願いします。   A列    B列 1        4  ← 1番目の●の行番号 2        6  ← 2番目の●の行番号 3        9  ← 3番目の●の行番号 4  ● 5 6  ● 7 8 9  ● 

質問者が選んだベストアンサー

  • ベストアンサー
  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.4

B1=MATCH("●",A1:A100,0) B2=IFERROR(MATCH("●",INDIRECT("A"&B1+1):A$100,0)+B1,"") B2セルを必要数、下方向に複写 というのはいかがでしょうか? なお、上記数式内の100は、 想定されるA列の最大行数以上の値としてください。

satoshi5050
質問者

お礼

いろいろなやり方をご教授頂きましたが、他のシートとの絡みもあり、今回はこちらの方法がフィットしましたので、ベストアンサーにさせて頂きます。 ありがとうございました。

その他の回答 (4)

  • Chiquilin
  • ベストアンサー率30% (94/306)
回答No.5

数式でねぇ…… =IFERROR(1/LARGE((A$1:A$10="●")/ROW($1:$10),ROW(B1)),"") Ctrl + Shift + Enterで確定

satoshi5050
質問者

お礼

ありがとうございました。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

配列数式を使わず、素直に思いつきそうなのは データ例 A1:A9 A列    B列(=中間結果) データ 番目 ●   1 ●   2 ●   3 B2の式は =IF(A2="●",MAX($B$1:B1)+1,"") 下方向に式を複写 C列のC2に =MATCH(ROW()-1,$B$1:$B$100,0) 下方向に式を複写。 結果 C1:C4 4 6 9 中間列(B列など)を使うのだが、嫌がる人がおおいようだが。 データが終わる行の次からを#N/Aを出さない式にするのは、略。 中間列の、1,2,3・・はCountif関数ででも、出せる。

satoshi5050
質問者

お礼

なるほど、いろいろやり方がありますね。 大変参考になりました。 ありがとうございました。

  • msMike
  • ベストアンサー率20% (364/1804)
回答No.2

[No.1]に大切なことを書き漏らしていました。 セル B1 を下記の[条件付き書式]を設定しておき、当該式を入力したセル B1 を下方にズズーッとオートフィル ルールの種類: “数式を…を決定” ルールの内容↓  ̄ ̄数式→ =ISERROR(B1)  ̄ ̄書式→白のフォント色

satoshi5050
質問者

お礼

補足頂きありがとうございました。

  • msMike
  • ベストアンサー率20% (364/1804)
回答No.1

B1: =SMALL(IF(A:A="●",ROW(A:A)),ROW(A1)) 【お断り】上式は必ず配列数式として入力のこと

satoshi5050
質問者

お礼

配列数式というものを初めて知り勉強になりました。 ありがとうございました。

関連するQ&A