• ベストアンサー

Excel 同じ値が連続している行の抽出

いつもお世話になっております。 Excelの表で同じ値が連続している行を抽出したいのですが、方法が思い付きません。 具体的には、A列に商談名、以降商談の受注確度が各列に入っています。 その中から、何ヶ月も確度が変わってない商談を抽出したいのです。 何か良い案を教えて頂けたら、と思います。 宜しくお願いします。

noname#65469
noname#65469

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

  • ベストアンサー
回答No.4

こんにちは。 再び#3です。 先ほどの並びで問題なければ、次の式をN列(12月の隣)に入れてみてください。 =IF(INDEX($B2:$M2,1,COUNTA($B2:$M2))=INDEX($B2:$M2,1,COUNTA($B2:$M2)-1),1,0) ※$B2:$M2の$は列の絶対参照です。 コピーしても列が変わりません。  今回はつけても、つけなくても構いませんが、私の好みです。w これで、最終月と前月と比較して同じだったら"1"になります。 あとは、この式を最終行までコピーして、オートフィルターで"1"で 抽出すれば、前月と同じ状態のものだけですが、抽出できるはずです。 ちなみに解説しときますと・・ COUNTA($B2:$M2)は、B2~M2の中にある空白でないセルの個数を返します。 8月まで入れてあれば8という値が返ってきます。 ※1月~8月の間に空白があると意図した結果にならない場合がありま  すのでご注意ください。 INDEX($B2:$M2,1,COUNTA($B2:$M2)) ※INDEX(範囲,行,列) は、B2~M2の範囲を配列として、指定した行,列の値を返します。 行列の指定は1,1からです。 従って、上記、B2~M2(1月~12月)の1行12列の配列を使います。 行は1行しかありませんので1、列は先のCOUNTAで得た値(8月なら8列目) を使用して値を参照します。 ※8月の確度ですね。 これと、1列前の確度(COUNTA($B2:$M2)-1)と比較して、異なるなら1、 そうでないなら0とすれば判別できますので、 =IF(INDEX($B2:$M2,1,COUNTA($B2:$M2))=INDEX($B2:$M2,1,COUNTA($B2:$M2)-1),1,0) となります。 あくまでも、#3で述べた私のイメージしている月が横に並んでいる 表が前提ですが、表作成の際にVLOOKUPやSUMIFなどでのキーを使う関数 を使ったり、抽出を行えるような表の作成をするには、表の構成も大事 になりますので今後の、参考にしてください。 ^^ では、がんばってください。

noname#65469
質問者

お礼

2回もご回答ありがとうございました。 皆さんの回答を見ていると、単純にオートフィルタでいいような気がしてきました。 ありがとうございました。

その他の回答 (3)

回答No.3

こんにちは 商談名の次の列から1月~12月の確度があり、確度の変化を確認したい。  という前提で、ちょっと変わったところでこんなのはどうでしょうか? 商談名(A列) 以降B列~M列(1月~12月の確度)として、 最初の月は、とばしてC列~M列(2月~12月)、商談表の最終行 まで全て選択して条件付き書式を設定します。 ※設定するセルを全て選択してから行えば、一回で設定できます。 アクティブなセル(選択時に白抜きになっているセル)がC2である ことを確認して、メニューの書式から条件付書式を選択します。 条件1 数式が =C2=""  ← セルが空白の場合  ‥ 条件1の書式 → パターンで色なしに設定。 条件2 数式が =AND(C2=B2,C2<>D2) ← 前月と同じで、翌月が異なるなら  ‥ 条件2の書式 → パターンで好きな色(もしくはフォント色)を設定。 この場合の例 商談A △△△▲○○● のように、連続している場合のみ可能ですが、変更月の前月に色が付きます。 そちらの意図するものとは異なるかもしれませんが、視覚的に確認 できますので、こんなやり方もあるという程度のご参考ということで

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

質問に答えるには、データの具体的なシート名、行、列、セル範囲などの指定と、具体例が要る。こういうものを具体的に示して質問すること。 疑問点の例 確度は同じ列にあるのか 食費商談分での停滞分を指定するのか(全商談中の停滞分全体を出すのか) マークをつけるのか、別セルに抜き出すのか。 同一商談案件ごとにまとまっているのか。 どうも案件ごとに停滞を判断するらしいが、それも明確でない。 確度はどういう種類コードがあるのか、成約のコードは? 何ヶ月なんていわないで2ヶ月とかとりあえず限定で質問のこと。 仕事のExcelの応用なのだろうから、もう少し丁寧に内容を説明のこと。 どうもVBAででもやらないと関数では難しそうな課題だ。 ーー >何ヶ月も確度が変わってない 年月 商談 確度 M1  X  A M2  X  B M3  X  B M4  X  B M5  X  C M6  X  C A->B->C->D(成約クローズ)としてB->Cで期間がたっているのはどう考えるのか。B,Cのような中間段階は区別して無いのか。 商談案件Xの最近の確度Cの最初行を見つけるのが関数では難物だな。

noname#65469
質問者

お礼

ご回答ありがとうございます。 質問内容が曖昧で申し訳ありませんでした。 A列に商談名(エンドユーザー名)、以降B、C、D列に7月、8月、9月の受注確度(A.B.C.D.E.×)が入ります。 今回知りたいのは、Cが3ヶ月続いている商談です。 C以外で滞留することは、ほぼ無いので。 依頼元(上司)はピボットテーブルで出来ないか?とのことでしたが…難しい気がしたので質問致しました。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

たとえば   A   B   C    D・・・・・Z 商談名    確度1月 確度2月・・・確度?月 とあってB2セルに =COUNTIF(C2:Z2,INDEX(C2:Z2,1,COUNTA(C2:Z2))) と入れておけば 最後の確度の値が何回あるかが出ますが こんなことでしょうか?

noname#65469
質問者

お礼

ご回答ありがとうございます。 依頼主(上司)はピボットテーブルで出来ないか?ということだったのですが…。 分かり難い質問内容ですみませんでした。

関連するQ&A

  • エクセル2003 特定の列の値がTRUEの抽出

    エクセル2003を使用しています。 特定の列の値がtrueの行の特定の列の値のみ抽出したいです。 具体的には、B列に「TRUE」が入っている行のC列の値のみを羅列することができませんでしょうか。 添付した画像のようなエクセルを作成しており、 添付画像の中の2~6行の中から、10行以降のような形に出力させたいです。 お分かりになる方おられましたら、教えてください。

  • 表から列と行を指定してその中から値を抽出する式

    なかなか言葉で説明しにくいのですが、エクセルの関数で、ある表の列と行を指定してその中から値を抽出する関数はあるでしょうか? 具体的に言うと、行が地域(北海道、東北、関東、、、)で列が箱数(1箱、2箱、3箱、、、)となっている表があってどの地域に何ケース届けると何円になるという表があります。 別シートに表を作って、例えば任意のセルに「北海道」、次の列に「2箱」などと入力規則で入力するようなところを作りました。そして、それぞれ「北海道」、「2箱」というのを見て、そのまた次の列に何円かを抽出する関数を入れたいと思っています。。。それが難しくて分かりません。有用な関数があったら教えてください。具体例などがあればURLなど教えていただけると助かります。 VLOOKUPなどがそれに近いかと思いますが、どうもうまくいきません。複合的に使えばうまくいくでしょうか? よろしくお願いいたします。

  • エクセルでの行検索

    エクセルにおいて、2つの列に入力されている「値」が違うものだけを抽出する方法はありますか? 具体的には、 A列 B列 1  1 2  2 3  3 4  8 5  5 6  6 のように入力されている時に、4番目の行だけを抽出する方法です。

  • EXCELで100行に1行ずつ抽出したい

    現在卒業研究中でエクセルを使っています。 そこで分からない事があるんですが、約10万行のデータがある列から100行に1行ずつ抽出し、横に1000行の列を作りたいと思ってます。 抽出する行は[1,101,201...]や、[100,200,300]等、番号は問いません。ただランダムではなく、100行ずつ順番に並べたいです。 どなたか詳しい方いらっしゃいましたら、教えていただけないでしょうか? よろしくお願いいたします。

  • Excel 複数行の抽出について

    Excel 複数行の抽出について Sheet1に商品リストがあります。 Sheet2に商談IDがあります。 Sheet3にSheet2の商談IDがある商品だけ、抽出したいです。 Excelの関数もしくはマクロで解決できますでしょうか。 ご回答お願いいたします。

  • エクセルで連続した重複セルを抽出する方法

    お世話になります、ネット上で検索しましたが、 求めている答えを見つけることができなかったので、コチラで質問させていただきます。 エクセル表の制作についこのようなことが可能かどうかわからないのですが、 ご存知の方がいらっしゃいましたらご教授お願いいたします。 以下のようなエクセル表があるとします。 田中  佐藤  鈴木  木山  佐藤  平原  鈴木  木山 鈴木  平原  田中  木山  木山  平原  田中  佐藤        ・        ・        ・ 列こそ違いますが、行で言うと「木山」は4回連続で出現しています。 この場合、4回連続で入力された「木山」を抽出して背景の色を変えるとか 即座にそれを認識できる方法はありませんか? 要するに、4行連続で入力することをエラーとしたいのです。 当方、エクセルに関してそれほど知識等ありませんので、できるだけわかりやすく ご教授いただけたらありがたいです。よろしくお願いいたします。

  • EXCELで行の抽出

    お世話になります。 EXCELで行の抽出を行いたいのですが、方法が分かりません。 行 A列 1 パターン1-1 2 パターン1-2 3 パターン1-3  4 パターン1-4 5 パターン2-1 6 パターン2-2 7 パターン2-3  8 パターン2-4 このようにA列に4行おきに決まったパターンの文字列があるのですが、これを下記のように横列に4個ずつ抽出したいのです。 行 A列        B列        C列        D列       E列 1 パターン1-1  パターン1-1  パターン1-2  パターン1-3 パターン1-4 2 パターン1-2  パターン2-1  パターン2-2  パターン2-3 パターン2-4 3 パターン1-3  4 パターン1-4 5 パターン2-1 6 パターン2-2 7 パターン2-3  8 パターン2-4 どうすればいいか教えて下さい。 すごく急いでいます。

  • Excelの行の抽出について質問です。

    Excelの行の抽出について質問です。 シート1にA列に受付番号、B列に会社名、C列に建築確認月と項目をつくり建築月は「2010年7月」と いうようにそれぞれの月を入力します。 シート2にはA列に「当月確認」「当月以降確認」「当月以前で未確認」の項目の表をつくり、 「2010年7月」とういうリスト形式でセルに入力し、月がかわるごとにこのセルに関連して1発で行ごと仕分けする方法はありませんか?

  • エクセルで、データのある行だけを抽出したい。

    エクセルのSheet1にデータが入っており、セルが空白でない行のデータのみを、Sheet2に抽出したいと思っています。 Sheet2にあらかじめ関数を入れておく方法にしたいため、関数について教えてください。 タイムテーブルで予定を管理するような表で、A~Hまでにデータが入っています。 予定を入れる際にはE列には必ず入力をするため、E列が空白でない行のみを抽出したいです。 A|B|C|D|E|F|G|H 月|日|時間|… 11|22|10:00|… 11|22|10:30|… 時間枠は10:00~17:00の30分刻みで、1日15行使用するので、1年で5475行まで使用します。 1行目はタイトル行なので、データは2行目から入力しています。 フィルタオプションで抽出する方法や、それをマクロで登録しておく方法は分かったのですが、あとから予定を追加することがあるため、マクロを実行する度にデータが置き換わると困ってしまいます。 また、抽出したSheet2のI列以降には備考などを入力したいため、やはり後から列がずれると困るため、A~H列に関数を入れておく方法で実行したいと思います。 よろしくお願いいたします。

  • エクセル抽出について

    初歩的な質問で大変恐縮です。 エクセルで10列×5行でひとまとまりの下に続く表があり、その中の1列目2行目に入力してある「支店」別にデータを抽出したいと思っています。オートフィルタを使うと1行づつなら抽出できるのですが、10列×5行のまとまりごと抽出する方法はありますでしょうか? つたない文章で申し訳ありませんが、ご教授ください。

専門家に質問してみよう