文字列が並んでいます。
┌─┬─┬─┬─┬─┬─┐
│国│ │社│ │算│ │
├─┼─┼─┼─┼─┼─┤
│算│ │国│ │国│ │
├─┼─┼─┼─┼─┼─┤
│国│ │算│ │理│ │
├─┼─┼─┼─┼─┼─┤
これを、下のように左上から下に向かって、何回目の文字列データとなっているのかカウントを取りたいのです。
┌─┬─┬─┬─┬─┬─┐
│国│1│社│1│算│3│
├─┼─┼─┼─┼─┼─┤
│算│1│国│3│国│4│
├─┼─┼─┼─┼─┼─┤
│国│2│算│2│理│1│
├─┼─┼─┼─┼─┼─┤
このように並んでいる表が複数シートあり、全部通し番号を入力したいのですが、関数で可能でしょうか?VBAでもいいのですが、なるべく関数でお願いします。詳しい方、教えてください。
http://www.moug.net/skillup/ebb/ekbb/ekbb002-1.htm
お疲れ様です。
ベタですが一番わかりやすいかと思うのでCOUNTIFを使った数式を。
例示通りのデータの場合、各下記のセルに
B1=COUNTIF(A$1:A1,A1)
D1=COUNTIF(A:A,C1)+COUNTIF(C$1:C1,C1)
F1=COUNTIF(A:A,E1)+COUNTIF(C:C,E1)+COUNTIF(E$1:E1,E1)
と入力。
それぞれB,D,Fの数式はA,C,Eのデータがあるセルまでフィルコピー。
こんな感じでどうでしょうか?
http://www.relief.jp/itnote/archives/000448.php
countif関数を使ってはどうでしょう?
複数のシートを通しての通し番号なので、1枚目のシートをsheet1、2枚目をsheet2とします。
1.sheet1のB1に「=countif(A$1:A1,A1)」と入れます。
2.B1の右下をつかんで、B列の終点までドラッグします。
(A列の通し番号が出ます。)
3.次にD1に「=countif(A:A,C1)+countif(C$1:C1,C1)」と入れます。
(A列+C1の通し番号が出ます。)
4.D1の右下をつかんで、D列の終点までドラッグします。
(A列+C列の通し番号が出ます。)
5.以降、「=countif(A:A,E1)+countif(C:C,E1)+countif(E$1:E1,E1)」→終点までドラッグを繰り返します。
(sheet1の通し番号が出ます。)
6.1枚目のシートが全部終わったら、2枚目のB1には「=countif('sheet1'A:E,A1)+countif(A$1:A1,A1)」と入れます。
(sheet1+sheet2のA1の通し番号が出ます。)
7.以降、繰り返しになります。
複数シートへの対応も書いてくれて感謝です。ありがとうございました。
次のように考えれば可能です。nは自分の行mは最大行とします。
A列の場合、A1~An行までのAnと同じ科目の個数ですから、Bn行には
=COUNTIF($A$1:An,An)
が入ります。実際にはCOUNTIF($A$1:A1,A1)をB1に入れてコピーすればいいでしょう。
それ以外のC列以後は2列前までの個数+自列の個数ですから
=COUNTIF($A$1:Am,C1)+COUNTIF(C$1:C1,C1)
をD1に入れて各列の全行にコピーすれば出来ます。
考え方もわかりやすかったです。お世話様でした。
ありがとうございました。素早い対応、凄いですね。