• 締切済み

Excelの集計関数について教えてください

最近、会社を立ち上げ営業の進捗管理をExcelで始めたばかりの者で、営業の進捗管理、というよりはExcelの関数(?)に悩み、こちらで質問いたしました。 表は2つあり、最初に商談状況という表へ、顧客ごとに、状況(問合せ・ヒアリング訪問・見積書提示・受注・失注)とその対応日を入力します。状況は、対応日の一番右側にある黄色いセルの日付に対応する内容を入力します。つまり、顧客ごとに最新の状況が商談状況で見れるようにしています。 その後、月次進捗表という表で、月別と状況別に集計をしております。しかし、件数が多くなってきて手作業でのミスが目立ち始めました。そもそも、これを集計と呼ぶかは別としてですが。 月次進捗表の赤枠内(B5~H19)に、Excelの関数を書けば簡単に解決できると思ったのですが、状況ごとと月ごとの集計ができません。添付のファイルはイメージとなりますが、手で入力したものです。 どのような、関数を書けばよいかお知恵の拝借をいただけませんでしょうか?Webで調べながら、CountifやCountifsを試してみたのですが、思ったような結果になりませんでした。 何卒よろしくお願いします。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

私のやって見た例ですが、 「商談状況」表の、C列からH列までに、日付が入っているとする。 日付は、日付シルアル値で、入っていることは前提です。日付シルアル値が初耳なら WEB照会のこと。 C1:H1セルには「a b c d e f g」が入っているとする。 実際は「問い合わせ日」、「ヒアリング訪問日」・・ですが、入力の手抜きで略。 第6行目の例では、J列に式  =INDEX($A$1:$F$1,1,MATCH(MAX(C6:H6),C6:H6)+2) (+2は、「状況」の見出しが第3列から始まるからです) 日付けシリアル値の性格から、MAXを採るのは、(交渉)最終日を探すということです。 その後、このJ列での、「a b c d e f g」の各々の件数をCOUMTIF関数で 出せば(交渉最終状況が)出来る。 月の進行ともに、J列に当たる列が右にズレざるを得ない。 この点が難しくする点である。 エクセル関数では、(配列数式を使わない場合は)、J列などに「aーg」を一旦出さないと(確定しないと)、省いて=空では、件数をCOUNTIF関数で出せない。 したがって、「月次営業進捗表」で、月の推移で式の複写で対応できるように、しなくてはならない。 ==== これは関数向けの課題ではないと思う.データベースの(ソフトの)利用をすべきでしょう。 又はVBAを併用するとか。 ーー どうせ言っても振り向いてくれないだろうが、言っておきたい。 ーー この質問の処理は、商談の進展ごとに(個別にメモでも作って)データを入力する(シートへの入力もあり得る)。 得意先名ー年月日ー(その日での最終)進捗段階名のようなデータ。 エクセル表にするのでなく、一旦データとして記録する。得意先候補別ー日付ー状況の対応データです。 その集積データ結果について、総括する年月が決まった段階で、その実施年月1か月間のものを抜出す。 その1つの月のうちで、複数の進捗段階があり得るので、後の方(MAX)を採る。 後戻りはないもののとする。 A表で言えば、進捗段階名を割り出す。得意先候補別です(X表とする)。 打ち切り以外で、進捗なしの件数も必要だろう。 ーー そしてそれらの中から、進捗段階名ごとの件数を表にする。最右列に最新月の件数を 加えるなどする。月ごとの単表もあり得ると思う。 これらはExcelだけでは複雑になるので不適と思う。

  • SI299792
  • ベストアンサー率48% (715/1477)
回答No.3

14行は「2023/1/1」の様に入っていて、 表示形式、ユーザー定義「yyyy"年"m"月"」にしてあるものとします。 このままでは難しいので、H列をワークエリアに使います。 B3: =SUBSTITUTE(IFERROR(LOOKUP(H3,C3:G3,C$2:G$2),""),"日","") 下へコピペ。 H3: =MAX(C3:G3) 表示形式、ユーザー定義「m"月"d"日";;」 下へコピペ。 I14 2024年8月 (ダミーで1月余計に入力します。目障りならフォントを白にして見えなくして下さい。) A15 =SUBSTITUTE(INDEX($2:$2,ROW()-12),"日","") 下へコピペ。 B15 =COUNTIFS($B$3:$B$11,$A15,$H$3:$H$11,">="&B$14,$H$3:$H$11,"<"&C$14) 表示形式、ユーザー定義「0"件";-0;」 右下へコピペ。

  • kon555
  • ベストアンサー率52% (1751/3360)
回答No.2

 補足というか、書き漏れがありました。 No1で「最後に『月次進捗表』ではCountifsを使い~」と回答しましたが、この際にCountifsでカウントするのは新しく作った『最新状況』の表です。『商談状況』ではありません。ご注意ください。

  • kon555
  • ベストアンサー率52% (1751/3360)
回答No.1

 少し表を弄る必要がありますが、Countifsで解決できます。  まず『商談状況』の表の日付については、年も省略せず入力するようにして下さい。また表示形式も「年」が分かるようにして下さい。  次に「状況」の入力は変な表記揺れや誤字脱字がないようにして下さい。入力規則のプルダウンリストを使う事を推奨します。 https://www.pc-koubou.jp/magazine/38812  この2つは集計する上で非常に重要です。  次に『商談状況』の表に、「最新日付」などの枠を1列追加して下さい。ここにはその行の最新状況の日付が自動で反映するようにします。 「最新状況の日付」とは、つまり同じ行の日付の中で最も新しい日付になりますので、MAX関数で抽出できます。 https://net-business888.com/excel-day-max-min/  次に『商談状況』と同じレイアウトの別表を作ります。仮に『最新状況』とします。  この『最新状況』は『商談状況』の対応するセルについて、入力値が最新日付と同じであればそのセルを参照するようにIF関数を組みます。 https://with-pc.com/excel-match-circle/ (ちなみに最新日付セルを作らず、if関数の中にMAX関数を入れ込む事も出来ますが、慣れないうちは1つずつ見えるようにした方が無難です)  最後に『月次進捗表』ではCountifsを使い、各進捗状況かつ、その月の日付の個数を数えます。  範囲内の日付(例えば2023年1月1日から1月31日まで、のような)をカウントするのは便利な集計方法なのでマスターしましょう。 https://blog02.aqua-school.com/2022/07/03/excel-65/  このような組み合わせにすれば、現状のレイアウトやワークフローを変更することなく自動集計が可能になります。  最終的には票の作り方など自体も見直した方がいいとは思いますが、そのあたりはExcelに習熟してから、あるいは詳しい人を雇ってからでいいと思います。  もし分からない事があれば、補足等で書いて頂ければ対応します。

関連するQ&A

  • date関数を使って日次集計表から月次の集計をしたい

    date関数を使って日次集計表から月次の集計をしたい エクセルを使って、下記の計算式で日次集計表のデータから月次の合計をだしたいのですが、date関数の日付を下記の式のような手入力ではなく、A列の月初(2009/05/01・2009/06/01・・・)、B列の月末(2009/06/30・2009/07/31・・・)からダイレクトに持ってきたいのですが、できますでしょうか? =SUMPRODUCT((日次集計!$G$8:$G$10000>=DATE(2009,5,1))*(日次集計!$G$8:$G$10000<=DATE(2009,5,31))*日次集計!$J$8:$J$10000) 宜しくお願いします。

  • エクセル 別シートへの集計方法について

    エクセル2007を使用し、顧客へのアプローチ進捗を管理しています。 その中で、進捗ステータスを入力するセルには(★、A~C、×)といった具合に入力し、 成約【★】になったものについては、別シートへ手入力しています。 この手入力の作業を無くすため、次のようにする方法はないでしょうか? 1)成約を示す【★】を入力した列のみ、成約一覧として別シートへ自動的に転記・集計    2)上記1に加えて、その列の一部のセルを指定する 進捗    担当  顧客名    会社名      所属部署  その他 ★    田中  猫山一郎  くろねこ飲料  営業     しろねこ販売よりご紹介 ×    山本  犬上二郎  しばいぬ土木  営業     純新規        ※実際の表は20列程度あり、転記・集計したいセルは10程度です 

  • エクセルの関数について

    エクセルの関数について 入金管理表(例1)を作成し、顧客を入力すると、別に作成してあるリスト(例2)を見て同じ顧客名の支払い日を入金管理表のE列に表示させたいのですが、どんな関数式を用いれば可能でしょうか? どなたか教えてください。よろしくお願いいたします。

  • エクセル関数使って集計したいです。

    エクセル関数使って集計したいです。 ある調査結果をもとに集計したいい表です。     20歳未満   ~30歳未満 ~40歳未満 40歳以上 1.とても良い    2.良い 3.どちらともいえない 4.悪い 5.とても悪い これに関数を使いたいのですが、SUMPRODUCTやCOUNTを使ってもエラーになってしまいます。 どうしたらいいか教えてください。

  • エクセル関数

    エクセルで顧客リストを作成していて年齢も入力してあるのですが集計作業で、0歳代が何人、10代が何人と人数を出せる関数を教えてほしいです

  • ★★エクセルでの集計★★

    エクセルの集計の方法で以下の内容に対応するものを教えてください。 例えば、単純な集計表で縦のAに「日付」、Bに「営業担当」、Cに「集客お客様名」のような表があり、表欄外に担当別に何月何日に何組のお客様を集客したのかを集計したのですがどの様にすればよいのか分かりません。 集客日と営業担当の2つの条件を満たした数の集計となると思うのですが・・・。 よろしくお願い致します。

  • エクセルのデータ集計について

    エクセルのデータ集計について質問です。現在windowsxp・office2007を使用しています。 エクセルの1ファイルに10シート、シート全てにデータが入力されており、このファイルが20弱あります。 ここから必要な数値を参照して、集計ファイルに集計しているのですが全て手作業で非効率的です。 何度か関数を使用して効率化を図ったのですが、どうも意図した結果は出ませんでした。(COUNTIF・COUNTIFS関数と、「統合」機能を使用しました) 調べてみたところ「マクロ」機能を使うと効率化できるかも、と思ったのですが、どのようなマクロを組めば良いのか、また、マクロ機能を使用しない場合どういった関数を使用すれば簡単にまとめられるのかご教授いただければと思います。

  • エクセルの集計

    エクセルを使った集計表を作成してるのですがわからない事があります 例えばA1からA10に項目が入力してあってB1からB10に価格が入力してある状態で指定した項目以外の価格の集計を自動的に計算するには、どのような関数を使用すれば良いのでしょう?

  • エクセルで複数シートを検索して抽出するには

    いつも参考にさせていただいています。 過去の質問を見てもわからなかったので回答をお願いします。 顧客管理台帳を作成していますが、他のファイルの複数のシートを検索してデータの抽出をしたいのです。 顧客管理台帳というファイルのシートに顧客一覧があります。 A番号 B顧客名 C住所 D対応状況 進捗表というファイルにランクA、B、Cのシートがあります。 A番号 B顧客名 C住所 D内容 E進捗状況 AAAA  ○○××  ・・・       保留 PPPP  ××△△  ・・・       終了 シートごとに顧客名の重複はありません。 顧客名はランダムに並んでいます。 顧客管理台帳の顧客名を進捗表の各シートから検索して 対応状況に進捗状況を反映させたいのです。 進捗表の一覧を作るとVLOOKUP関数でできると思うのですが シート毎の管理をし、日々更新しているので 現状のままでできる方法はないでしょうか。 よろしくお願いいたします。

  • 複数条件付きの個数を他ページへの自動集計する方法

    エクセル初心者で困っています。 どなたか宜しくおねがいします。 シート1にA列に約20つの部署名が選択できるフィルターをつくりH列にAorBの選択ができるフィルターをつくりました。A選択の場合の20の部署名の個数とBの選択の20の部署名の個数をシート1に入力した時点でシート2に自動で集計されるにはどうしたらいいでしょうか? 表自体は作成されておりcountifs関数かと思いやってみたのですが上手くいきません。 countifs関数は全て入力した後集計する関数でしょうか。 よろしくお願いします。

専門家に質問してみよう