アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルでいくつかのデータがあったとします。
A A B B B C C C C C (D) E
(括弧付きは、無い場合もあるということです)
このA~Eを数えて、数量を表示したいです。
A 2
B 3
C 5
E 1
セル位置は固定で、その時の種類数だけ表示したいです。
(BとEだけのときもある)
これをエクセル関数でうまく行う方法は、ありますでしょうか?

A 回答 (3件)

無いアルファベットは空白ではなく間を詰める。


というのは、かなり困難ではないかと思われます。
取り合えず、こんなやり方しか思いつかなかったのですが、
参考になればいいのですが...。

まず、間を詰める為にアルファベットを数字に置き換えます。
下記のように1行目にランダムなアルファベットが入力されているとします。

  A B C D E F G H I J K L M N
1  A A C C B E C C B E   A 1 2
2  1 1  3 3  2 5  3 3  2 5    B 2 2
3                        C 3 4
4                        E 5 2
5

その下の2行目に数字に置き換える為の関数を入れます。
A2=IF(A1="A",1,IF(A1="B",2,IF(A1="C",3,IF(A1="D",4,IF(A1="E",5,"")))))
と入れて右へドラッグします。(上記表でJ列まで)

そして、答えを出す方も同様に数字で表示します。
取り合えず答えの場所をL,M,N列にしました。
まずM列の最初に
M1=MIN(A2:J2)
と入れます。
その後、
M2=IF(COUNTIF(A$2:J$2,M1+1)>0,M1+1,IF(COUNTIF(A$2:J$2,M1+2)>0,M1+2,IF(COUNTIF(A$2:J$2,M1+3)>0,M1+3,IF(COUNTIF(A$2:J$2,M1+4)>0,M1+4,""))))
と入れて、下へドラッグします。
L列には、数字をアルファベットに変換するために、
L1=IF(M1=1,"A",IF(M1=2,"B",IF(M1=3,"C",IF(M1=4,"D",IF(M1=5,"E","")))))
と入れて、下へドラッグします。
最後に、個数を入れるセルN列に
N1=COUNTIF(A$1:J$1,L1)
と入れて下へドラッグして下さい。
あと、数字に変換した行及び列はかくして下さい。
その時、2行目の上記でいうL2の"B" 等の表示された箇所が
表示させなくすると一緒に消えてしまうので
隠すときにズラして下さい。
(セルコピーをすると関数式の行がズレるので
ダブルクリックをして内容コピーをして下さいね。)
これで、抜けたアルファベットの間を詰めて表示されると思います。
(※関数式の"="の前のセル番号は分かりやすく書いただけなので
一緒にコピーしないで下さいね。)
    • good
    • 0
この回答へのお礼

ありがとうございます。
理解するのに時間がかかり、なかなか大変でしたが、
うまくいきました。

お礼日時:2007/08/31 12:17

   A  B  C  D  E  F  G  H  I  J  K  L  M  N  O


1  A  A  B  B  B  C  C  C  C     E  E     A  2
2  1  1  2   2  2  3  3  3  3  3  4  4      B  3
3                                        C  4
4                                        E  2

◆補助行
A2=COUNT(INDEX(1/(MATCH($A$1:A1,$A$1:A1,)=COLUMN($A$1:A1)),))
★右にコピー

N1=IF(ROW(A1)>MAX($A$2:$L$2),"",INDEX($A$1:$L$1,MATCH(ROW(A1),$A$2:$L$2,0)))
★下にコピー

O1=IF(N1="","",COUNTIF($A$1:$L$1,N1))
★下にコピー
    • good
    • 0
この回答へのお礼

ありがとうございます。
ただ、補助行のところの処理がよく理解できませんでした。(TT)

お礼日時:2007/08/31 12:20

値がA1からE1までに入っていると仮定し、Aの個数を出すには、


=COUNTIF(A1:E1,"A")

同様に、
=COUNTIF(A1:E1,"A")
=COUNTIF(A1:E1,"B")
=COUNTIF(A1:E1,"C")
=COUNTIF(A1:E1,"E")
で、質問の様になります。
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。
すみません、セル位置固定の説明が下手でした。
各要素(A,B等)で固定ではなくて、
例えば、種類がA、C、Eの3種の場合は、
A 2
C 5
E 1
2種の場合は、
A 2
E 1
といった具合に、上から順番に表示させ、無い物は間隔を詰めたいです。

お礼日時:2007/08/30 16:59

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