- ベストアンサー
EXCELで同じ文字の入ったセルの個数を表示する
- EXCELで同じ文字の入ったセルの個数を数えて表示する方法を紹介します。
- 具体的な手順に沿って、セル内の文字を比較し、同じ文字のセルの個数を取得します。
- 集計結果を用いて、同じ文字の入ったセルごとに個数を表示することができます。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
例えば、Sheet1にその表があって、集計をSheet2に作成したいとすると、 赤外はA1のセルにあるとします。 B1のセルに =COUNTIF(Sheet1!A$2:A$11,$A1) の様に入れ、Enter、あとはB1のセルをコピーし、B2:B6、C1:D6に貼り付けするだけです。
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
こんなのCOUNTIFだけで出来る簡単なことではないか。 難しいならその点を書いて質問すること。 四則演算・累乗ーSUM・COUNT-SUMIF・COUNTIFーその他色々、と、エクセル関数の易しいほうから3段階目の問題ではないか? 基本的なエクセル関数を勉強のこと。 ーー データ例を挙げるなら第11行まですべて挙げて、結果と照らして、読者が理解しやすいようにしてほしい。 7-10行を略すとそのことが判りにくい。
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! おそらく「赤外」「赤中」・・・といったデータを重複なしに表示することが大変だと思います。 それさえできればCOUNTIF関数で簡単に集計できると思います。 そこでVBAでの方法になってしまいますが、一例です。 Sheet1にデータ配置は↓の画像のようになっているものとします。 Sheet1のデータをSheet2のA列に表示させ、B列以降にそのデータ個数を表示させるようにしてみました。 Alt+F11キー → VBE画面が出ますので、画面左下の「This Workbook」をダブルクリックし ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub test() 'この行から Dim ws1, ws2 As Worksheet Dim i, j, k As Long Set ws1 = Worksheets(1) Set ws2 = Worksheets(2) Application.ScreenUpdating = False i = ws2.Cells(Rows.Count, 1).End(xlUp).Row j = ws2.Cells(1, Columns.Count).End(xlToLeft).Column Range(ws2.Cells(1, 1), ws2.Cells(i, j)).ClearContents k = ws1.Cells(1, Columns.Count).End(xlToLeft).Column Range(ws1.Cells(1, 1), ws1.Cells(1, k)).Copy Destination:=ws2.Cells(1, 2) For i = 2 To ws1.UsedRange.Rows.Count For j = 1 To k If WorksheetFunction.CountIf(ws2.Columns(1), ws1.Cells(i, j)) = 0 Then ws2.Cells(Rows.Count, 1).End(xlUp).Offset(1) = ws1.Cells(i, j) End If Next j Next i For j = 2 To ws2.Cells(1, Columns.Count).End(xlToLeft).Column For i = 2 To ws2.Cells(Rows.Count, 1).End(xlUp).Row ws2.Cells(i, j) = WorksheetFunction.CountIf(ws1.Columns(j - 1), ws2.Cells(i, 1)) Next i Next j Application.ScreenUpdating = True End Sub 'この行まで ※ Sheet1のデータを重複なしに表示するだけのマクロでも良かったのですが、ついでに最後までやってしまいました。 ※ データは何列・何行あっても対応できるようにしています。 ※ Sheet1のデータ変更があるたびにマクロを実行する必要があります。 以上、お望みの方法でなかったらごめんなさいね。m(_ _)m
お礼
早速の回答有難うございます。 この方法だと、人が増えても、データーが増えても大丈夫そうですね。 明日にでも早速試してみます。
お礼
早速の回答有難うございます。 出来ました・・・感激!です。