• 締切済み

エクセルで金額を範囲分けする方法について

エクセルの関数について質問です。 以下の様な形で、金額を範囲で分ける関数を教えてください。 該当する範囲に「1」、範囲外は「0」としたいです。 金額  500-999 1000-1499 1500-1999 2000- ・530    1    0       0     0 ・1200   0    1       0     0 ・1600   0    0       1     0 ・2500   0    0       0     1 方法をご存じの方は教えてください。

みんなの回答

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

表の構成から見直す必要はあるでしょう。 ご提示の模擬データで金額の列に入力される値は数値の530、1200、1600、2500のように先頭の「・」は無いものとします。 また、500未満を入力できないようにする必要があります。 区分の表示も「500-999」、「1000-1499」、「1500-1999」とせずに「500」、「1000」、「1500」のように下限のみとすることで数式を簡素化できます。 貼付画像を参考にしてください。 B2=AND($A2>=B$1,IF(VALUE(C$1),$A2<C$1,1))*1 B2セルを右と下へ必要数コピーします。

  • Chiquilin
  • ベストアンサー率30% (94/306)
回答No.6

スペース詰められるの忘れてました。 ........A.......B......C......D........E 1.............500..1000..1500....2000 2....金額....999..1499..1999..1E+15 3.....530.......1.....0......0........0 4....1200......0......1......0.......0 5....1600......0......0......1.......0 6....2500......0......0......0.......1 7....1500......0......0......1.......0 こうしておけば ■B3セル =INDEX(FREQUENCY($A3,B$1:B$2-{1;0}),2) でいいです。

  • Chiquilin
  • ベストアンサー率30% (94/306)
回答No.5

A B C D E 1 500 1000 1500 2000 2 金額 999 1499 1999 1E+15 3 530 1 0 0 0 4 1200 0 1 0 0 5 1600 0 0 1 0 6 2500 0 0 0 1 こうしておけば ■B3セル =INDEX(FREQUENCY($A3,B$1:B$2-{1;0}),2) でいいです。

  • msMike
  • ベストアンサー率20% (364/1804)
回答No.4

添付図を参照されたい。 #,##0"以上" の書式設定を施した範囲 B1:E1 の左から数値 500、1000、1500、2000 を入力 セル B2 に次式を入力し、此れを右方および下方にドラッグ&ペースト =COUNTIF($A2,">="&B$1)-COUNTIF($A2,">="&C$1) なお、セル F2 は空白のままとします。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 回答No.2です。  失礼しました。  先程の回答において >まず、B1セルに次の関数を入力して下さい。 と書いてしまっておりますが、これは 「まず、B2セルに次の関数を入力して下さい。」 の間違いです。(関数自体は回答No.2のままのもので間違いありません)  尚、もし、実際の金額欄においても「・530」、「・1200」、「・1600」、「・2500」といった具合に、各金額の前に「・」が付いている場合には、B2セルに入力する関数を次のものと差し替えて下さい。 =IF(OR(ISNUMBER(SUBSTITUTE($A2,"・",,1)/(LEFT($A2,1)="・")),ISNUMBER($A2)),(SUBSTITUTE($A2,"・",)-LEFT(0&B$1,FIND("-",B$1))>=0)*(SUBSTITUTE($A2,"・",)-REPLACE(B$1,1,FIND("-",B$1),(RIGHT(B$1,1)="-")*9E+307)<=0),"")

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.2

 確認したいのですが、御質問文では「・530」、「・1200」、「・1600」、「・2500」といった具合に、各金額の前に「・」が付いている様ですが、これは実際のデータでも「・」が付いているのでしょうか?  もし、実際には「・」は付いておらず、「530」、「1200」、「1600」、「2500」といった具合に数値のみが入力されている場合には、以下の様な方法となります。  今仮に、「金額」と入力されているセルがA1セルであるものとしますと、まず、B1セルに次の関数を入力して下さい。 =IF(AND(ISNUMBER($A2),ISNUMBER(LEFT(0&B$1,FIND("-",B$1))+REPLACE(B$1,1,FIND("-",B$1),0))),($A2-LEFT(0&B$1,FIND("-",B$1))>=0)*($A2-REPLACE(B$1,1,FIND("-",B$1),(RIGHT(B$1,1)="-")*9E+307)<=0),"")  次に、B1セルをコピーして、B1:E5の範囲に貼り付けて下さい。  以上です。

  • dogs_cats
  • ベストアンサー率38% (278/717)
回答No.1

範囲の上下限設定行を2行にする方法は如何でしょう。 B1 500入力、B2 999入力 C1式 =B1+500 C1をC1~E2までコピペ E2は不要なので削除 B3式 =IF(AND($A3>=B$1,$A3<=B$2),1,0) B3式をB3~D6までコピペ E3式 =IF($A3>=E$1,1,0) E3式をE6までコピペ 質問通りの書式に拘るのでしたら、 B3式 =IF(AND($A3>=999,$A3<=999),1,0) C3,D3,E3も範囲を数値に変更後下方にコピペします。

関連するQ&A