• ベストアンサー

エクセルで並べ替えした値ごとにグループ分けしたい。

_Kyleの回答

  • ベストアンサー
  • _Kyle
  • ベストアンサー率78% (109/139)
回答No.1

並べ替えてから処理するのであれば、  イ) C2セル : 1  ロ) C3セル : =E2+IF(D2=D3,0,1) として、C3セルを下方にフィルすれば足りるように思うのですが…。 ※(ロ)の数式は、単に =E2+(D3<>D2) としてもOKです。 ----------------------------------------- また、並べ替える前の状態で、  ハ) C2セル : 1  ニ) C3セル : =IF(ISNA(MATCH(D3,D$2:D2,0)),MAX(C$2:C2)+1,INDEX(C$2:C2,MATCH(D3,D$2:D2,0))) としてC3セルを下方にフィルすれば、基準値ごとに連番が振られますが、 これも質問文の数式ほど重くはないと思います。 以上ご参考まで。

masaiwa
質問者

お礼

ありがとうございました。 そんなに重くならずに、うまくいきました!

masaiwa
質問者

補足

回答ありがとうございます。 いただいた数式は =E2+IF(D2=D3,0,1) 質問の表にあてはめると、=C2+IF(D2=D3,0,1) ですよね? この数式でやってみたのですが、 C2、C3は1、C4、C5は2 とここまではいいのですが、 C6が3になってしまいます。C6もC2、C3と同じ1が欲しいのですが… また並べ替える前の状態で…というのが質問の表にあてはめたら、 うまくいきました。今から、実際のものにあてはめてやってみます。 重くならないといいのですが… お礼は後ほどしたいと思います。ありがとうごいました。

関連するQ&A

  • エクセルでグループ分け。

     よろしくお願いします。 データー    A      B     C     D 1 1/1    20   19    50 2 1/2    65   55    89 3 1/3    88   80    89 4 1/7    25   02    80 5 1/8    44   13    99 6 1/10   93   23    95 7 1/14   12   -2    46 8 1/15   23   11    45  というデーターがあります。 このデーターのB列の数字を基準にし、C列の数字とD列の数字の二つを比べ、C列の数字と近い場合とD列の数字と近い場合のデーターを抜き出せるようにしたいと思います。  B列の数字がC列の数字と近い場合の結果    A      B     C     D 1 1/1    20   19    50 2 1/7    25   02    80 3 1/8    44   13    99 4 1/14   12   -2    46 5 1/15   23   11    45  B列の数字がD列の数字と近い場合の結果 1 1/2    65   55    68 2 1/3    88   80    89 3 1/10   93   23    95  できる方、よろしくお願いします。

  • Excelで数式中に他セルの値

    Excelで数式について、他のセルに書いてある数字を文字列として代入したいのですが、 どうすればよいでしょうか。 具体的には 1  A1に10と入っており 2-1 B2に=COUNTIF(OFFSET(A1:D10, 0, 1), "=【A1】") 2-2 SUMIF(~~~, "=【A1】", ~~~) のような形で、A1の値に応じてCOUNTIFとSUMIFの条件分岐をしたいのです。 よろしくお願いします。

  • エクセル”検索条件はセル内のあいまい値”

    どうにも検討がつかず調べても対応したものができないのでお力添え願います。 D列に”A”と入力し、C列へ「D列のセル値が含まれた場合C値からB値をマイナスし それ以外は上のセル値を反映させる」としたいのですがどうするのがいいでしょうか。 直接値を指定してあいまい検索は『=IF(COUNTIF($A2,"*A*"),C1-$B2,C1)』でできたのですが この "*A*" 部分を”B”というときもあるのでD列のセル値であいまい検索としたいです。 A列の値は以下のように”A”の後ろに複数の数字がつくことがあります。 A列 A2 A3 B4 B3 B4 A2 A4

  • エクセル関数のことで困っています。

    今、簡単な表計算の表を作っていますが、先に進まず困っています。 A1~A200のセルに1~200の番号が昇順で入っています。そしてデータとして,B2,C2,D2,E2 に各々a、b、c、dが入っており,,B3,C3,D3,E3 にa1、b1、c1、d1・・・・・・・・・・・・B200,C200,D200,E200にw,x,y,zのようにB,C,D,E列に適当な数が入っています。 そこで、E列の値で昇順  SMALL(D$1:D$200,A1)  に並べ替え、同時にB,C,D,Eの値も返したいのです。つまりエクセルの並べ替え機能を関数で自動で行いたいのです。 今は、関数の、ROW,SUMPRODUCT,COUNT,INDEX,LARGE,COUNTIF,COLUMN,などを使い関数バーに5行ほどになり、処理にとても時間がかかります。 何とか、簡単で早い計算式はないでしょうか。 よろしくおねがいします。

  • エクセル2000の計算式の範囲の固定

    簡単な計算式の入力(範囲指定)がしたいのでわかる方 ご教授ください。 以下のようなデータがあります。    A列 B列  1 い支店 15  2 ろ支店 6 3 は支店 80 4 に支店 112 5 ほ支店 15 6 へ支店 6 7 と支店 32 以下1400行ほど これらのデータを C列には「セルC1」から1~1400という数字を入力し D列に計算式(B2:B1400,C2)を入れました。 コピー&ペーストをするとD2は=COUNTIF(B2:B1400,C2) D3は=COUNTIF(B3:B1401,C3)、D4は=COUNTIF(B4:B1402,C4)・・・となり、 本来入れたい式D3=COUNTIF(B2:B1400,C3)、D4=COUNTIF(B2:B1400,C4)・・・とは範囲の部分が一つずつずれてしまいます。 この計算式の範囲「B2:B1400」を固定したままにすることはできないのでしょうか。 教えてください。

  • 1つの数式で結果を出すには

    A列に整数と小数のある数値がランダムに各セルに入っています。 この数字を下記の数式を他のセルに組んで、1や2や3がA列に入っている数値を確認して数式を組んでいる列のセルに1が表示する様にしています。 =SUMPRODUCT(COUNTIF(A3:A3,"1")) =SUMPRODUCT(COUNTIF(A3:A3,"2")) =SUMPRODUCT(COUNTIF(A3:A3,"3")) この数式を改良して、1つの式で、1や2や3が存在していたら、式を組んだセルに1が表示出来るか、下記の様に数式を組みましたが、結果が得られませんでした。 =SUMPRODUCT(COUNTIF(A3:A3,"1,2,3")) ご教授頂けたら幸いです。 宜しくお願いします。

  • Excel 関数 列内の文字を参照し隣列の値を返す

    Excel2003です。 関数を使ってみたのですが、思うようにいきません。 C列を参照し、「みかん」という言葉があれば、そのセルの隣の列の値(D列の「B」)を、A1に表示したいです。 最初は、VLOOKUP関数を使えばいいと思っていましたが、「検索値」というものがはっきりしない為、使用できない?のでしょうか? 「みかん」という単語を探し出すには「COUNTIF」でしょうが、その関数では、直接その値を返すのみなので、何かの関数と組み合わせるのか、それとももっと良い関数があるのでしょうか? なお、C列に「みかん」という単語は一度しか登場しない為、列内に複数「みかん」が存在している場合にの対処法は、不要です。単純に、「みかん」の値の2列目だけをA1セルに表示させたいのです。

  • エクセルで特定の文字列を含む値を重複を除いて数える

    いつもお世話になります。 今回の質問ですが、例えば、セルA1からA1000に、いろんな人の名前がフルネームで入っているとします。 同じ人物が複数回登場することはありますが、同姓同名の人はいないものと考えてください。 そして、このリストの中に、「山田」さんは何名いるのかを、同人物の重複を除いて数えたいわけです。 重複して数えていいならば、「=COUNTIF(A1:A1000,"山田"&"*")」で、 山田さんに限らずに、重複を除いた人数を調べたいならば、「=SUMPRODUCT(1/COUNTIF(A1:A1000,A1:A1000))」でそれぞれ調べられますが、山田さんの重複を除いた人数となると、どうすればよいでしょうか。 私に考えつく方法では、B1に「=COUNTIF(A1,"山田"&"*")」と入力し、以下B列にこれをコピーをしておけば、「=SUMPRODUCT((B1:B1000)/COUNTIF(A1:A1000,A1:A1000))」で求めたい値を得られますが、できれば作業列は使用しないでこの値を求めたいです。

  • EXCELの計算式(%に応じて点数を割り振る)

    以下のようなEXCELのセルがあります。 A列 任意の数字 B列 任意の数字 C列 任意の数字 D列 C列÷(A列-B列)の結果を、小数点2ケタ以下切り捨て E列 D列の数字を10倍した値 この時、D列、E列にはどのような数式が入るのでしょうか? 関数がよくわかりません。 恐れ入りますが教えて頂けますでしょうか。

  • エクセルの関数

    セルAとセルBに小数点の値があります。 セルAとセルBどちらか、 (1)0.2以下の値がある場合には、セルAかセルBの値の大きい方を別の列のセルCに入力。 (2)両方とも0.2以上の時には、上記とはまた別の列のセルDに【セルA×セルB】の値を入力。(小数点2桁まで表示、以下四捨五入) (1)と(2)で表示されたものを、またまた別の列のセルEにまとめて、 (1)は 値×5(小数点切り上げ) (2)は 値×25(小数点切り上げ) というものを作りたいのです。 IFとANDとROUNDUPなど使ってやってみましたが、わけがわからなくなってしまったので、 どなたか教えていただけたらありがたいです。