- ベストアンサー
Excel 同じ値が連続している行の抽出
いつもお世話になっております。 Excelの表で同じ値が連続している行を抽出したいのですが、方法が思い付きません。 具体的には、A列に商談名、以降商談の受注確度が各列に入っています。 その中から、何ヶ月も確度が変わってない商談を抽出したいのです。 何か良い案を教えて頂けたら、と思います。 宜しくお願いします。
- みんなの回答 (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などでのキーを使う関数 を使ったり、抽出を行えるような表の作成をするには、表の構成も大事 になりますので今後の、参考にしてください。 ^^ では、がんばってください。
その他の回答 (3)
- nayuta_lot
- ベストアンサー率64% (133/205)
こんにちは 商談名の次の列から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/17069)
質問に答えるには、データの具体的なシート名、行、列、セル範囲などの指定と、具体例が要る。こういうものを具体的に示して質問すること。 疑問点の例 確度は同じ列にあるのか 食費商談分での停滞分を指定するのか(全商談中の停滞分全体を出すのか) マークをつけるのか、別セルに抜き出すのか。 同一商談案件ごとにまとまっているのか。 どうも案件ごとに停滞を判断するらしいが、それも明確でない。 確度はどういう種類コードがあるのか、成約のコードは? 何ヶ月なんていわないで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の最初行を見つけるのが関数では難物だな。
お礼
ご回答ありがとうございます。 質問内容が曖昧で申し訳ありませんでした。 A列に商談名(エンドユーザー名)、以降B、C、D列に7月、8月、9月の受注確度(A.B.C.D.E.×)が入ります。 今回知りたいのは、Cが3ヶ月続いている商談です。 C以外で滞留することは、ほぼ無いので。 依頼元(上司)はピボットテーブルで出来ないか?とのことでしたが…難しい気がしたので質問致しました。
- hallo-2007
- ベストアンサー率41% (888/2115)
たとえば A B C D・・・・・Z 商談名 確度1月 確度2月・・・確度?月 とあってB2セルに =COUNTIF(C2:Z2,INDEX(C2:Z2,1,COUNTA(C2:Z2))) と入れておけば 最後の確度の値が何回あるかが出ますが こんなことでしょうか?
お礼
ご回答ありがとうございます。 依頼主(上司)はピボットテーブルで出来ないか?ということだったのですが…。 分かり難い質問内容ですみませんでした。
お礼
2回もご回答ありがとうございました。 皆さんの回答を見ていると、単純にオートフィルタでいいような気がしてきました。 ありがとうございました。