あなたの習慣について教えてください!!

教えてください。

a列に販売店(複数あり)名が入っています。
何行目まで入っているかは不定です。
例えば今日はa2からa100までがa商店、a101からa150までがb商店、a151からa200までがc商店、
明日はa2からa50までがa商店、a51からa130までがb商店、a131からa300までがc商店という具合です。
そこで、a商店は何行目から何行目までか、b商店、c商店は??というのを取得する関数を知りたいです。

excell2003です。

どうぞよろしくお願いします。

A 回答 (3件)

b商店は


=MATCH("b商店",A:A,0) 行目から
=MATCH("b商店",A:A,0)+COUNTIF(A:A,"b商店")-1 行目まで
あります。


実際にはb商店が今日は無い場合もあるとして
=IF(COUNTIF(A:A,"b商店"),MATCH("b商店",A:A,0),"") 行目から
=IF(COUNTIF(A:A,"b商店"),MATCH("b商店",A:A,0)+COUNTIF(A:A,"b商店")-1,"") 行目まで
といったようにしておいた方がよいかもデスね。
    • good
    • 0

一例です。


B1に商店名を入力、データの妥当性等は考慮していません。
開始行は=MATCH(B1,A1:A500,0)
終了行は=MAX(INDEX((A1:A500=B1)*ROW(A1:A500),))
    • good
    • 0
この回答へのお礼

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

お礼日時:2011/03/29 12:55

きれいにソートされているなら、COUNTIFで数を数えれるのが簡単です。



a商店

=COUNTIF(A:A,"a商店")+1

b商店

=COUNTIF(A:A,"b商店")+C2

※C2のセルはa商店の最終行

という感じで出来るかと思います。


ソートされていないかもしれないなら、a商店は以下の配列数式で求めることが出来ます。
Ctrl+Shift+Enterで確定です。(b商店はa商店の部分を変更するだけ)

=MAX((A1:A1000="a商店")*(ROW(A1:A1000)))
    • good
    • 0
この回答へのお礼

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

お礼日時:2011/03/29 12:55

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