こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

excel2000 ある列の項目名をカウントしその件数表示をする

エクセルで表10行×5列の表があります。1列目にあるデータが入っております。その項目名をカウントし多い順に別の表にその項目名と件数を表示させたい。できるだけ自動的におこなうためにはどうすればよいでしょうか。



:ある表
1列
A
B
c
B
c
A
D
E
F
B

結果 別の表
項目 件数
B   3
A   2
C   2
D   1
E   1
F   1

投稿日時 - 2004-08-06 18:42:48

QNo.953254

暇なときに回答ください

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

 VLOOKUP関数でできると思います。

投稿日時 - 2004-08-06 19:17:28

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

ちょっと工夫がいりますが、条件として項目はA~Fの6個とし、同数の時の順位は任意とします。

(1)シートを3枚用意し、各シートをそれぞれ 
Sheet1:データ、Sheet2:作業用、Sheet3:結果として扱います。
(2)Sheet1(データ)
A1からA10まで、データ(A,B,C,B,C,・・計10個)を用意します。
(3)Sheet2(作業用)
それぞれのセルにA1:順位、B1:項目、C1:件数、D1:重み付けの名称をつけ、
A2=RANK(D2,$D$2:$D$7,0)
C2=COUNTIF(Sheet1!$A$1:$A$10,B2)
D2=C2+ROW()/1000
とし、7行目までコピーしておきます。
B2~B7まで項目名:A~Fまでを入力します
(4)Sheet3(結果)
それぞれのセルにA1:順位、B1:項目、C1:件数とし、
A2~A7まで値1~6を入力
B2=VLOOKUP(A2,Sheet2!$A$2:$C$7,2,0)
C2=VLOOKUP(A2,Sheet2!$A$2:$C$7,3,0)

これで、結果のシートに頻度の多い順の項目と件数が並びます。

投稿日時 - 2004-08-07 01:51:58

ANo.3

#2です。関数でやって見ました。ただし件数の多いもの順ソートの前まで。
(データ)
(A列)       (D列)
項目
A1
B2
C3
B

A
D4
E5
F6
(作業列)この例ではD列にします
D2に=IF(COUNTIF($A$2:A2,A2)=1,MAX($D$1:D1)+1,"")
以下D11まで複写。
結果上記の通り。
(関数式)
例えばE2に
=OFFSET($A$2,MATCH(ROW()-1,$D$2:$D$11,0)-1,0)
E7まで複写。D列のMAXが6だから6+1の7まで。
E列  F列
A2
B3
C2
D1
E1
F1
F2に=COUNTIF($A$2:$A$11,E2)といれF7まで複写
結果は上記F列の通り。
ソートも関数でした例が過去の私の回答にありますが
今回は略。ソートは操作の、データ-並べ替えでどうぞ。

投稿日時 - 2004-08-06 20:30:52

ANo.2

ピボットテーブルでどうですか。
(例データ)見出しの項目を必ず入れる。A1に。A1:A10
項目
A
B

B

A
D
E
F
B
(操作)データ-ピボットテーブル・・・-次へ-次へ
-レイアウトで表のよう図の
「行」に「項目」、「データ」に「項目」をD&D
(結果)
データの個数 : 項目
項目計
A2
B3
C2
D1
E1
F1
総計10
あと項目Aから、Fの計までを範囲指定して、データ-並べ替えで普通に並べ替えすればB、C、A・・の順になります。
データを変更したり、増減した時は!をクリックしないと
更新されない。
関数ではちょっと厄介かなと思います。

投稿日時 - 2004-08-06 19:30:52

あなたにオススメの質問