営業の進捗管理表で最新日程を検索する方法

このQ&Aのポイント
  • 営業の進捗管理表には、訪問日や面談結果などが記録されています。しかし、特定の条件で最新の日程を検索することは難しい場合があります。
  • Excelの関数を使えば、簡単に最新日程を検索することができます。ただし、条件によっては思った通りの結果が得られないこともあります。
  • 進捗管理表にはさまざまなデータが含まれているため、関数を使いこなす必要があります。効率的な検索方法を学ぶことで、よりスムーズな進捗管理が行えます。
回答を見る
  • ベストアンサー

進捗管理表のある条件なかで最新日程を検索したい

こんにちは。 以下の様な項目で営業の進捗管理表を作っています。 いま検索したい条件は「面談出来た最新日程」です。 色々と試して、表示できたと思うと。イレギュラーが拾えません。 例)2回目の訪問が不在だけれども、3回目の訪問が面談だった日程など まだまだ関数を使いこなせていないです。 何方かお知恵を貸していただけませんか? エクセルは2013です。 宜しくお願いします。    A     B     C     D     E     F     G     E     F     G    1  社名   訪問  面・不  面談者  訪問日 面・不  面談者  訪問日  面・不  面談  2  A社   4/20   面談  担当    5/9   面談   担当    5/15   面談  担当 3  B社   4/20   面談  決裁者  4/25   TEL   決裁者   5/2   TEL  決裁者 4  C社   6/6   面談         7/11   不在          7/14   不在 5  D社   4/5   面談  決裁者   6/6   不在          6/15   面談 決裁者 6  E社   5/29 7  F社   5/29 8  G社 9  H社 10  I社   4/17   不在         4/18   不在         4/20    不在

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

  • ベストアンサー
  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.2

>ところが更に上司から、M2の表示は「面談」もしくは「TEL」のどちらかの最新日程で。と追加条件が入りました。 前回の数式に一部誤りがありましたので追加条件も含めて次の数式を提言します。 M2=IFERROR(INDEX(A2:I2,,SUMPRODUCT(MAX((B2:I2="面談")*COLUMN(B2:I2)+(B2:I2="TEL")*COLUMN(B2:I2)))-1),"") N2=IFERROR(INDEX(A2:I2,,SUMPRODUCT(MAX((A2:I2="面談")*COLUMN(A2:I2)+(A2:I2="TEL")*COLUMN(A2:I2)))),"") N2をO2へコピーし、M2からO2までを一括して下へ必要数コピーします。 IFERROR関数はExcel 2007以降のバージョンから追加されましたのでExcel 2003以前のバージョンでは使えません。 この数式でSUMPRODUCT関数を使う理由は配列数式を特別な操作をしないで扱うためです。 基本的にはINDEX関数に与える列番号をMAX関数で抽出しています。 MAX関数の括弧内の数式は"面談"または"TEL"と記載されたセルの列番号を羅列するための配列計算式になっています。 SUMPRODUCT関数を使わない場合は数式を確定するときにCtrlとShiftを押しながらEnterキーで確定します。 結果を数式バーで確認すると=を含めた計算式が大括弧で括られています。 {=MAX((B2:I2="面談")*COLUMN(B2:I2)+(B2:I2="TEL")*COLUMN(B2:I2))} → MAX({0,3,0,0,6,0,0,9,0}) → 9

nikotannn
質問者

お礼

bunjiiさん お礼が遅れてスミマセン。 頂いた式で見事に、希望通りの管理表が出来ました。 ありがとうございます。 上司も非常に気に入り、他の部署にまで自慢する有り様。 (そこの部署の管理表まで作ることになりそうです) エクセルは奥が深いですね。 もっと上達したいなぁ。

その他の回答 (2)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんばんは! 横からお邪魔します。 >面談」もしくは「TEL」のどちらかの最新日程で・・・ 一例です。 ↓の画像で上側がSheet1で下側のSheet2に表示するとします。 尚、訪問日が何度あっても(何列あっても)対応できるようにしてみました。 ↓の画像でSheet2のB2セルに =IF(OR(COUNTIF(Sheet1!2:2,"面談"),COUNTIF(Sheet1!2:2,"TEL")),INDEX(Sheet1!2:2,,MAX(MAX(IF(Sheet1!2:2="面談",COLUMN(2:2))),MAX(IF(Sheet1!2:2="TEL",COLUMN(2:2))))+COLUMN(A1)-2),"") これは配列数式になりますので、Ctrl+Shift+Enterで確定! この画面からコピー&ペーストする場合は 上記数式をドラッグ&コピー → Sheet2のB2セルを選択 → 数式バー内に貼り付け → そのまま(編集可能なまま) Ctrl+Shiftキーを押しながらEnterキーで確定! 数式の前後に{ }マークが入り配列数式になります。 これを列・行方向にフィルハンドルでコピー! B列の表示形式は日付にしておきます。 ※ Sheet1が空白の場合、「0」が表示されてしまいますので、 Sheet2をアクティブにし → メニュー → ファイル → オプション → 詳細設定 → 次のシートで作業するときの表示設定 → 「ゼロ値のセルにゼロを表示する」のチェックを外しておきます。 これで画像のような感じになります。m(_ _)m

nikotannn
質問者

お礼

tom04さん ありがとうございます。お礼が遅れてスミマセン。 目的は同じでも、様々な関数で導くことができるのですね。 奥が深い・・・。 まだまだ瞬時で適切な関数を組めず、苦戦しています。 教えて頂き恐縮ですが、ベストアンサーは2度も回答を 頂いたbunjiiさんとさせて頂きました。 ご了承下さい。

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.1

貼付画像はExcel 2013で検証した結果です。 L2=A2 M2=INDEX(A2:J2,,SUMPRODUCT(MAX((B2:J2="面談")*COLUMN(B2:J2)))-1) N2=INDEX(A2:J2,,SUMPRODUCT(MAX((B2:J2="面談")*COLUMN(B2:J2)))+1) M2セルの書式で数値の表示形式を日付に設定します。 L2からN2まで選択して下へ必要数だけコピーします。 尚、C社の6/6で面談者が空欄なので抽出結果に0が表示されてしまいます。これを避けるため仮に?を入力してあります。

nikotannn
質問者

お礼

ありがとうございます! 本当に嬉しいです。 早速やってみます。 また報告させていただきます。

nikotannn
質問者

補足

頂いた式で大枠は理解できたつもりでした。 ところが更に上司から、M2の表示は「面談」もしくは「TEL」のどちらかの 最新日程で。と追加条件が入りました。 MAXやSUMPRODUCTのもしくはでネット検索等し、色々と試してみましたが、 数式エラーとなってしまいます。 お手数ですが、再度ご教授頂けると幸いです。

関連するQ&A

  • 表の中から条件に合う値を複数検索する方法(Excel又はAccess)

    Excel、Accessのいずれでも構いません。 <表1>のシート(テーブル)があった場合に、<表2>のように担当者ごとの取引先を検索してきて複数の値を列記する方法を教えてください。 クエリや関数式など、どのような方法でも結構です。 <表1> 取引先  担当者 A社   佐藤 B社   佐藤 C社   田中 D社   佐藤 E社   村井 F社   村井 G社   田中 ・    ・ ・     ・ ・     ・ <表2> 担当者  取引先 佐藤  A社 B社 D社 田中  C社 G社 村井  E社 F社  ・   ・  ・   ・  ・   ・ やりたことは、差し込み印刷で各「担当者」に、それぞれが担当する「取引先」を通知する文書を作成することです。 「取引先」は、同じセルになっても構いませんし、もちろん違っていても構いません。 よろしくお願いします。

  • IF関数を使って進捗管理表の作成

    エクセルA列に数式を入れ 例えばB列に日付を入れるとA列のステイタスが申請中などと分かるように計算式を入れたいのですが、IF関数を使ってもうまくできません。 A列:ステイタス(1.申請中~4.完了) B列:受付日 → A列:1.申請中 C列:申請日 → A列:2.決裁待ち D列:決裁日 → A列:3.承認待ち E列:契約 → A列:4.完了 よろしくお願いいたします。

  • 【修正】エクセルで条件にあったデータを・・・(表を修正しました)

    作業日で仕事をする日を1、休みの日を0とします。 ..........列A...............列B..................列C..D..E..F..G..H 行1.あ社人数..い社人数......月日..1..2.3..4..5 行2......5................3..................作業日.1..1.1..1..0 行3......0................4..................作業日.1..1.1..1..0 この作業日程表から、あ社、い社の月日別述べ人数を 月日...1...2...3...4...5...6... あ社...5...5...5...5...0.. い社...7...7...7...7...0 のように表にしたいです。

  • 表の中から条件のあうものだけで別に表をつくる

    エクセルです。いろいろ考えましたが思い浮かびません。 a1[番号]b1[氏名] c1[性] a2[1] b2[吾郷] c2[男] a3[2] b3[伊藤] c3[女] a4[3] b4[宇佐美]c4[男] a5[4] b5[江田] c5[女] a6[5] b6[小川] c6[女] a7[6] b7[川田] c7[男]  ・・・・・・・・・ の中から女性だけを抽出して e1[番号]f1[氏名] c1[性] e2[1] f2[伊藤] e3[2] f3[江田] e4[3] f4[小川]  ・・・・・・ というふうに別にリストを作りたいのです。 マクロを使わずに関数だけで何とかならないでしょうか。 同じシート内に作業領域があるのは問題ありません。 よろしくお願いします。

  • スケジュール管理表を作っています。数式があれば教えてください。

    たとえば、下記のような表があります。 E 総数量 に対し、A~B期間内の日数を F~の月ごとのカレンダーに数量を反映させる事は出来ますでしょうか。 現在、数式を入れた例をのせましたが、F2 ~ I2 までに入る数式に苦戦しています。現在、数式例を載せましたが、一日の本数が反映するようになってしまいました。 A、Bを読み取る事はできたのですが、下のように、G2=93 H2=6というような結果になるように、どなたか知恵をお貸しください。 m( _ _ )m    A    B     C     D     E     F    G   H   I 1  開始  終了 期間日数 一日本数 総数量本 7月  8月  9月  10月 2   8/1  9/2     33     3     100      93  6 C2=(DATEDIF(A3,B3,"d")+1) D2=ROUNDDOWN(D3/C3,0) F2=IF(AND(MONTH(G$1)>=MONTH($A3),MONTH(G$1)<=MONTH($B3)),$E3,"")   

  • リーグ戦日程表作成アルゴリズム求む

    nチームのサッカーのリーグ戦を行います。 (1)各チームは1日1回試合します。相手チームとは1回づつ試合しますので、各チームともn-1回試合します。総試合数はn(n-1)/2です。 (2)グラウンドはn/2 面用意します。nが奇数の場合は(n-1)/2 面で試合のないチームが発生します。 (3)なので、必要日数はnが偶数の時はn-1日 奇数の場合はn日必要です。 例 n=5 チームa,b,c,d,e 日程:グラウンド1,グラウンド2,休み 1日目:a-b,c-d,e 2日目:a-c,b-e,d 3日目:a-d,c-e,b 4日目:a-e,b-d,c 5日目:b-c,d-e,a 問題はnを与えて上記組合せ日程表を作るアルゴリズムを作りたいと思っています。 解は複数ありますが、1つ出せばOKです。ただし、 解の条件:どのチームもそれぞれのグラウンドの使用回数はできるだけ等しくする。(直感的には等しくなる解があると思っています) 上記例ではチームaはグラウンド1でばかり試合をしていますが、ほしいのはどのチームもグラウンド1で2試合、グラウンド2で2試合となるような組合せ表です。 上記条件を除いて組合せを作った後、条件を満たすように入れ替えていく等の2段階のアルゴリズムでもかまいません。 一発(変な表現ですが)で出す方法ももちろん歓迎です。皆さんのお知恵をいただきたいのでよろしく。

  • 関数で2つの条件から抽出する表を作りたい。

    A1は手入力D4手入力、H2は=D2&C2 担当者と週で検索して抽出する式を教えて下さい。 上手く出来なくて1行しか抽出しないんです。  A   B  C      D   E   F  G   H 1担当者 沼田 週    1 2 番号 日付 週 担当 企業 名前 住所 検索用 3 1 7月1日 1 沼田 a 高橋 土浦 沼田1 4 2 7月2日 1 佐藤 a 山田 阿見 佐藤1 5 3 7月2日 1 沼田 r 沖田 水戸 沼田1 6 4 7月7日  1 沼田 c 斎藤 土浦 沼田1 7 5  7月9日 2 佐藤 h 鈴木 牛久 佐藤2 8 6 7月14日 3 佐藤 d 河合 土浦 佐藤3 9 7 7月15日 3 高橋 e 吉田 阿見 高橋3 10 8 7月20日 4 高橋 e 木田 水戸 高橋4 11 9 7月4日 1 沼田 g 飯田 牛久 沼田1 上記の表から1週目だったら、1週目の担当者のデータをシート2の表に抽出 週2だったら2週目の担当者データを抽出 A1・D1は手入力 A3は=IF(COUNTIF(Sheet1!D$2:D$1000,B$1)=0,"",MATCH($B$1&$D$1,Sheet1!$H$2:$H$1000,0)) シート2     A   B   C  D  E  F  G 1  担当 沼田 週 1 2  番号 日付  週  担当  企業  名前   住所 3  1  7月1日  1  沼田   a    会田   牛久 4  4  7月2日  1  沼田   r   沖田   水戸 5  6  7月7日  1  沼田   c   斎藤  土浦  6  9  7月4日  1  沼田   g   飯田  牛久 上記の様にシート2に表示したいんです。 細かく教えて下さい。何度やっても1行目のデータしか抽出しないんです。 A3=IF(COUNTIF(Sheet1!D$2:D$1000,B$1)=0,"",MATCH($B$1&$D$1,Sheet1!$H$2:$H$1000,0)) B3=IF($A3="","",IF(VLOOKUP($A3,Sheet1!$A$2:$H$1000,COLUMN(B1),0)="","",VLOOKUP($A3,Sheet1!$A$2:$H$1000,COLUMN(B1),0))) A4の2行目以降1になってしまって同じ物しか出ないんです。 Aの番号の抽出方法の式を教えて下さい。

  • VBAの複数条件の検索について

    お世話になります。 VBAでEvaluate("SUMPRODUCT((棚卸!$A$1:$A$300=LEFT(C" & i & ",2))*(ISNUMBER(FIND(LEFT(D$1,3),棚卸!$B$1:$B$300)))*(ISNUMBER(FIND(D$2,棚卸!$C$1:$C$300))),棚卸!$F$1:$F$300)")という構文があります。 現在困っていることは、ISNUMBER(FIND(LEFT(D$1,3)のD$1をE$1、F$1、G$1としたいのですが、どのようにすればよいか分りません。 初歩的な質問で申し訳ありませんが、ご教示のほど宜しくお願いいたします。

  • エクセルでの日程表作成

    一度投稿しましたが、用が足りておらずご指摘事項を再掲載させていただければと存じます。 お世話になります。エクセルでの日程表作成について教えていただければ幸いです。 習い事を運営していまして、毎月の生徒ごとの授業日程カレンダーをエクセルで作成したいと思っています。(添付画像の日程表) 別シートに生徒名を打ち込んであり、カレンダーの氏名をプルダウンで選択しています。 例えば、 氏名 G1 で 山田太郎 を選んだ時、G7に sheet2 のF2を 氏名 G1 で 山田花子 を選んだ時、C8にsheet2のB3、E8にsheet2のD3を 上記のように、生徒ごとに反映させたいです。 上手く説明できておらず申し訳ございませんが、よろしくお願いいたします。

  • EXCELで複数条件の検索

    6人(A,B,C,D,E,F)で麻雀を打つことになりました。 全員と打てるようにするには6C4で 15通りの組み合わせが出来ます。 で、表を作りました。 C,D,A,Fの組み合わ(要するにA,C,D,F)の試合番号を求めるには、 どうすれば良いですか? ※A,C,D,Fの並びは順不同です