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

解決済みの質問

エクセルの関数について

画像のような縦列BCに氏名、数字が入力されているデータがあります。
そのデータを一つの氏名にまとめ、数字はその人の平均値にして出力する関数はありますでしょうか。
以上、宜しくお願い致します。

大変申し訳ございませんが、この投稿に添付された画像や動画などは、「BIGLOBEなんでも相談室」ではご覧いただくことができません。 OKWAVEよりご覧ください。

マルチメディア機能とは?

投稿日時 - 2017-05-18 15:51:34

QNo.9330752

困ってます

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

とりあえずB列を別のところ(例えばG列)にコピーして,その後,氏名を[データ]-[重複の削除]でまとめます。
それぞれの氏名に対する数値は
=AVERAGEIF(B1:B21,G1,C1:C21)
のようにAVERAGEIFを使うと簡単でしょう。

投稿日時 - 2017-05-18 16:05:13

お礼

素早い回答有難うございます。
記入頂いていた内容で計算する事が出来ました。
業務時間の短縮になりそうです。ありがとうございます。

その他の方もご回答ありがとうございました。

投稿日時 - 2017-05-19 10:16:04

ANo.1

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

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

回答(6)

ANo.6

>そのデータを一つの氏名にまとめ、数字はその人の平均値にして出力する関数はありますでしょうか。
Excelのバージョンを指定してください。
Excel 2007以降のバージョンにはAVERAGEIFと言う関数が組み込まれていますので、これを使えば簡単に求められます。
Excel 2003以前のバージョンのときはSUMIF関数で求めた値をCOUNTIF関数で割り算すれば平均値を求められます。
B列から氏名を抽出する関数はありませんので、幾つかの関数を組みわせて抽出するか、Excel 2007以降のバージョンではB列をG列へコピーして「重複の削除」で単一化できます。
Excel 2003以前のバージョンでは作業列を使って抽出すべき値があるセルの行番号を抽出してINDEX関数で作業列の値から行番号の小さい順に抽出すれば良いでしょう。

投稿日時 - 2017-05-18 19:19:17

ANo.5

何件あるかで合致合計を割れば出ますよね?

まず和合致するかは
仮に、B列に
名が、有る
と、して
(B:B="太郎")
等と、すれば
判りますFALSE
合致して、いれば
TRUE
していなければ
FALSE
に、なります

また、Excelでは
演算に、際し

FALSEを、0と、
TRUE、を1と、
見なして、くれます

ので、
(B:B="太郎")
を、集計すれば
何件一致したか
が、判ります

こう言った、場合は
集計には
SUMではなく
SUNPRODUCTを使います
SUMは、
位置に、より
自動で、処理対象を
変える、機能が
含まれて、いるから
です

合致件数集計は
実際には、こう
です
SUNPRODUCT((B:B="太郎")+0)
+0は
数値に
読み替えて、貰う
おまじない、です

合致合計は
0×n=0
1×n=n
と、言う
数学的、要素と

先にも、示した
FALSEを、0と、
TRUE、を1と、
見なして、くれる
と、言う事を
使い

(B:B="太郎")に
横の、列の
値を、掛け
集計して、求めます

尚、此処でも
集計は
SUNPRODUCTを、使います
SUNPRODUCT((B:B="太郎")*C:C)

では、
平均を、出しましょう

SUNPRODUCT((B:B="太郎")*C:C)/SUNPRODUCT((B:B="太郎")+0)
此で、出ますね

意外と、簡単
で、しょ?

投稿日時 - 2017-05-18 18:41:10

ANo.4

(1)太郎、一郎、花子などの複数行に現れる名前について、1度(1行)しか出ないように、名前をセルに出せるか。ここが1つの山場です。
データーフィルター詳細設定ー「重複するレコードは無視する」を使うのが早い。
これを関数だけでやる方法は、式がむつかしい。
自分で太郎、花子、一郎を手打ちするつもりか?
(2)そうすれば、
  (あ)AVERAGEIFや
  (い)SUMIF/COUNTIFの割り算で出せる。
この質問自体が、質問者は今まで、エクセル関数ではSUMぐらいしかやっていない風に見えるが、エクセル関数の簡単な本でも、読むこと。

投稿日時 - 2017-05-18 17:33:17

ANo.3

Excelのバージョンにもよります。
Excel2007以降であれば既出のAVERAGEIFを使えば可能です。
それ以前の場合はSUMIFとCOUNTIFを使えばできます。
=SUMIF(B:B,G1,C:C)/COUNTIF(B:B,G1)

投稿日時 - 2017-05-18 16:42:15

ANo.2

関数でもいいのかもしれませんが、
ピボットテーブル向きの案件なのかなぁとも思います。

先頭行の上に「名前」「数字」とでもフィールド名を付け、
ピボットテーブル作成。
「名前」を行見出しに
「数字」を値にドラッグドロップし、
値の「合計/数値」を「平均/数値」にしてやります。

詳細は別途お調べくださいませ。

大変申し訳ございませんが、この投稿に添付された画像や動画などは、「BIGLOBEなんでも相談室」ではご覧いただくことができません。 OKWAVEよりご覧ください。

マルチメディア機能とは?

投稿日時 - 2017-05-18 16:18:07

あなたにオススメの質問