EXCELで以下のような集計を簡単に行いたいのですが、簡易な方法ってありますでしょうか?
これに関してはマクロでは実現させるつもりはなく、あくまでEXCELの基本機能(と関数レベル)で行いたいのです。
マクロは作れますし今回の例が実現できる(擬似)マクロは既にあります。しかし、今回の話ではマクロは使わない!で、且つEXCEL初心者が操作手順A4紙1枚程度を見て操作できるものが良いです。
実は表を選択して「データ」の「集計」で簡単に出来るだろうと思っていたのですが…出来ませんでした。
データは図の左側のように担当者の名称がそれぞれ何個か書かれているだけです。このようにたった1列だけというデータになります。
これを図の右側のように担当者毎の回数と割合を表にします。(これに似た適当なフォーマットでOKです) 表ができればあとは業務が流れていくので助かります。
XPのEXCEL2003レベルでお願いします。ヒントでもモチロン構いません。お願いします。
No.8ベストアンサー
- 回答日時:
いろいろな方法があるでしょうが分かりやすい方法として次のようにしてはどうでしょう。
A列の2行目から下方にデータがあるとします。
作業列としてB2セルには次の式を入力して下方にオートフィルドラッグします。
=IF(A2="","",IF(COUNTIF(A$2:A2,A2)=1,MAX(B$1:B1)+1,""))
これで上から新しい人の順に番号が付けられます。
そこでお求めの表ですがD1セルに担当、E1セルに回数、F1セルに%と入力します。
D2セルには次の式を入力して下方にオートフィルドラッグします。
=IF(ROW(A1)>MAX(B:B),"",INDEX(A:A,MATCH(ROW(A1),B:B,0)))
E2セルには次の式を入力して下方にオートフィルドラッグします。
=IF(D2="","",COUNTIF(A:A,D2))
F2セルには次の式を入力して下方にオートフィルドラッグします。
=IF(E2="","",E2/SUM(E:E))
なおF列の%表示についてはF列を選択してからツールバー上の「パーセントスタイル」をクリックします。小数点以下の表示にするためにはその後に「小数点表示桁上げ」のアイコンを2回クリックすれば小数点以下2位までの表示にすることができます。
回答ありがとうございます。
頂いた回答を、順次担当と一緒に確認し判断させていただく予定ですがなかなか
ちゃんとした時間が取れません。回答していただいて申し訳ないのですが、一旦
締切させていただきます。ありがとうございました。
No.7
- 回答日時:
画像がうまく添付できなかったので、もう一度トライしてみます。
また「総計」欄が不要なら、このセルを右クリックして「表示しない」にしてください。
ついでに、複雑な数式でご希望の回答とは違うかもしれませんが、参考までにA列のデータから重複のない担当者の名前を表示させる関数を提示します。
A2から名前が入力されているなら、以下の式を入力して下方向にオートフィルします。
=INDEX(A:A,SMALL(INDEX((MATCH($A$2:$A$1000&"",$A$2:$A$1000&"",)<>ROW($A$2:$A$1000)-1)*1000+ROW($A$2:$A$1000),),ROW(A1)))&""
この一覧が取得できれば、後の関数は初心者でもわかる基本的な関数だと思うので省略しますが、これらの関数を利用する場合は、条件付き書式を利用してデータの増減に応じて自動的に罫線を引くようにするなど、いろいろな工夫が可能です。
また、今回のようなご質問では、わからない部分だけをピンポイントで質問されるほうが、みなさんからの的確な回答が期待できると思います。
回答ありがとうございます。
頂いた回答を、順次担当と一緒に確認し判断させていただく予定ですがなかなか
ちゃんとした時間が取れません。回答していただいて申し訳ないのですが、一旦
締切させていただきます。ありがとうございました。
No.6
- 回答日時:
>しかし、今回の話ではマクロは使わない!で、且つEXCEL初心者が操作手順A4紙1枚程度を見て操作できるものが良いです。
この意味がよくわからないのですが、たとえば複雑な配列数式を使えば、重複のないリストを補助列なしに作成することができますが、このような方法はダメということですね。
もし、そのような条件があるなら、ピボットテーブルだけで作成するのがよいと思います。
A列のデータをリスト範囲とするピボットテーブルを作成し、行フィールドに1回、データフィールドに2回「担当」をドラッグします。
データフィールドに2つ集計されているデータの右側のセルの1つを選択して、右クリック「フィールドの設定」で「オプション」をクリックして計算の種類を「行方向の比率」にします。
最後にB4セルとB5セルの値を「回数」と「%」に書き換えれば完成です(添付画像参照)。
No.5
- 回答日時:
質問に色々書いているが、氏名のユニークな一覧は、フィルタオプションの設定ー重複するレコードは無視する、で任意のセル難に範囲にまとめて作れる。
それが出来ればCountif(例=COUNTIF(A2:A20,D2)で氏名の出現件数は出せる。
シェアの計算ぐらいわかるだろう。
質問では、VBAはダメとか言って、仰々しく聞くほどの内容ではなかろう。
フィルタオプションを使いたくないなら、関数で作業列を使って重複の無いユニークな氏名列を作ることは出来るが略。
回答ありがとうございます。
頂いた回答を、順次担当と一緒に確認し判断させていただく予定ですがなかなか
ちゃんとした時間が取れません。回答していただいて申し訳ないのですが、一旦
締切させていただきます。ありがとうございました。
No.4
- 回答日時:
#3 の DOUGLAS_ です。
ご質問の主旨を勘違いしておりました。
>このようにたった1列だけというデータになります。
でしたね。
つまり、「右の表」自体を1から作りたい、というような意味合いですね。
ピボットテーブル を利用すれば、ちゃんとできるような気もするのですが、私は ピボットテーブル は不得意なので、ちゃんと説明ができません。
しかしながら、勘違いの回答をしてしまいましたので、罪滅ぼしで、私にできる範囲で説明してみます。
(5) 以降も ピボットテーブル の機能でできるのかも知れませんが、私は存じませんので、予めお断りしておきます。
1)[データ(D)] - [ピボットテーブルとピボットグラフ レポート(P)...] = [ピボットテーブル/ピボットグラフ ウィザード - 1/3] ダイアログ で [OK] します。
2)[ピボットテーブル/ピボットグラフ ウィザード - 2/3] ダイアログ - [範囲(R):] に「1列だけというデータ」範囲を指定し、[次へ(N) >] を クリック します。
3)[ピボットテーブル/ピボットグラフ ウィザード - 3/3] ダイアログ - [レイアウト(L)...] - [行(R)] と [データ(D)] に、それぞれ、「担当」をドラッグし、[OK] します。
4)同じく [オプション(O)...] - [書式オプション] - [列の総計(G)] の チェックボックス を オフ にして、[OK] し、[完了(F)] します。
5)作成された ピボットテーブル の「集計」の右の列に、前回答の (2) のような式を入れます。
以上で、添付画像の様な表ができます。
回答ありがとうございます。
頂いた回答を、順次担当と一緒に確認し判断させていただく予定ですがなかなか
ちゃんとした時間が取れません。回答していただいて申し訳ないのですが、一旦
締切させていただきます。ありがとうございました。
No.3
- 回答日時:
>EXCELの基本機能(と関数レベル)で行いたい
>XPのEXCEL2003レベルでお願いします。
左の表の「担当」が A1、右の表の「担当」が同じ シート の C1 にあるとします。
1)D2 に
=COUNTIF(A:A,C2)
と入力し、これを、D3:D7 に オートフィル します。
2)E2 に
=D2/SUM(D:D)
と入力し、これを、E3:E7 に オートフィル します。
3)E列を選択し、[書式(O)] - [セル(E)...] = [セルの書式設定] ダイアログ - [表示形式] タブ - [分類(C)] から「パーセンテージ」を選択し、[小数点以下の桁数(D):] を「2」にして、[OK] します。
以上です。
No.2
- 回答日時:
こんばんは!
一例です。
↓の画像で説明させていただきます。
作業用の列を1列設けています。
作業列B2セルに
=IF(COUNTIF($A$2:A2,A2)=1,ROW(),"")
という数式をいれ、オートフィルで下へずぃ~~~!っとコピーします。
そして、結果のD2セルに
=IF(COUNT(B:B)<ROW(A1),"",INDEX(A:A,SMALL(B:B,ROW(A1))))
E2セルに
=IF(D2="","",COUNTIF(A:A,D2))
F2セルに
=IF(D2="","",E2/(COUNTA(A:A)-1))
という数式をいれ、D2~F2セルを範囲指定し、F2セルのフィルハンドルで下へコピーすると
画像のような感じになります。
以上、参考になればよいのですが
的外れならごめんなさいね。m(__)m
回答ありがとうございます。
頂いた回答を、順次担当と一緒に確認し判断させていただく予定ですがなかなか
ちゃんとした時間が取れません。回答していただいて申し訳ないのですが、一旦
締切させていただきます。ありがとうございました。
No.1
- 回答日時:
右側の表の回数列に関数=COUNTIF($B$3:$B$21,E3)」(B3:B21は左側の表の担当者列を指定しています。
E3は右側の表の担当者列を指定しています)と入力して、同列の下側へコピーして貼り付け、%のところは100%に該当する数字を参照し、(たとえばG1セルを参照するならG1に19と入力し、%の列の一番上のセルに「=F3/$G$1」と入力し)セルの書式をパーセントに変え、同列の下セルへコピーして貼り付ければ、お望みの表ができると思います。お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- Excel(エクセル) 【Excelの集計について質問です。】 7 2022/12/03 16:51
- Excel(エクセル) Excel、同じフォルダ内のExcelファイルの特定シートのみを1つのファイルに集約したい 8 2022/09/07 15:12
- Excel(エクセル) Excel シート複数 金額日計表と日付 簡単にシートコピーしたら前日の残高と日付を変更させたい 1 2022/07/15 22:10
- その他(データベース) Excel VBA 転記について 1 2022/04/20 16:55
- Excel(エクセル) Excelで全クラスのランキング表を作成したい 4 2022/05/24 15:28
- Excel(エクセル) VBA ふたつの同じ様式シートのセルをコピーしたい 2 2023/03/08 15:28
- その他(ビジネス・キャリア) 仕事のレベル感 4 2022/07/23 21:41
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでの作業計算方法について
-
Microsoft1Officeの互換ソフト...
-
【マクロ】その時、その時で変...
-
はがきについて。
-
【マクロ】読取専用のファイル...
-
エクセル初心者です 関数の入れ...
-
【関数】適切な文字数の数字を...
-
LOOKUP関数を使えばいいのでし...
-
【関数】先頭だけにある、半角...
-
Excel ピボットテーブルで日付...
-
Excelのpivotについて質問です
-
時間によってファイル名が変わ...
-
エクセル 白黒印刷で白線を印刷...
-
Aというブックの1というシート...
-
エクセル関数を教えてください
-
WPS OFFICEでの縦書きについて
-
Excelのチェックボックスの使い...
-
エクセルの条件付き書式につい...
-
エクセルのセルに同じ大きさの...
-
エクセルの関数について教えて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報