【アプリ版】サポートOS変更のお知らせ

いつもお世話になっております。

Excelの表で同じ値が連続している行を抽出したいのですが、方法が思い付きません。

具体的には、A列に商談名、以降商談の受注確度が各列に入っています。
その中から、何ヶ月も確度が変わってない商談を抽出したいのです。

何か良い案を教えて頂けたら、と思います。
宜しくお願いします。

gooドクター

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などでのキーを使う関数
を使ったり、抽出を行えるような表の作成をするには、表の構成も大事
になりますので今後の、参考にしてください。 ^^
では、がんばってください。
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/08/19 14:40

こんにちは


商談名の次の列から1月~12月の確度があり、確度の変化を確認したい。 
という前提で、ちょっと変わったところでこんなのはどうでしょうか?

商談名(A列) 以降B列~M列(1月~12月の確度)として、

最初の月は、とばしてC列~M列(2月~12月)、商談表の最終行
まで全て選択して条件付き書式を設定します。
※設定するセルを全て選択してから行えば、一回で設定できます。

アクティブなセル(選択時に白抜きになっているセル)がC2である
ことを確認して、メニューの書式から条件付書式を選択します。

条件1 数式が =C2=""  ← セルが空白の場合
 ‥ 条件1の書式 → パターンで色なしに設定。
条件2 数式が =AND(C2=B2,C2<>D2) ← 前月と同じで、翌月が異なるなら
 ‥ 条件2の書式 → パターンで好きな色(もしくはフォント色)を設定。

この場合の例 商談A △△△▲○○●

のように、連続している場合のみ可能ですが、変更月の前月に色が付きます。

そちらの意図するものとは異なるかもしれませんが、視覚的に確認
できますので、こんなやり方もあるという程度のご参考ということで
    • good
    • 0

質問に答えるには、データの具体的なシート名、行、列、セル範囲などの指定と、具体例が要る。

こういうものを具体的に示して質問すること。
疑問点の例
確度は同じ列にあるのか
食費商談分での停滞分を指定するのか(全商談中の停滞分全体を出すのか)
マークをつけるのか、別セルに抜き出すのか。
同一商談案件ごとにまとまっているのか。
どうも案件ごとに停滞を判断するらしいが、それも明確でない。
確度はどういう種類コードがあるのか、成約のコードは?
何ヶ月なんていわないで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の最初行を見つけるのが関数では難物だな。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
質問内容が曖昧で申し訳ありませんでした。

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

お礼日時:2008/08/19 14:36

たとえば 


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

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

お礼日時:2008/08/19 14:26

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング