質問
[Excel]~以上~以下の場合○
- 投稿日時:2012/01/13 22:20

お世話になります。ExcelもOKWaveも初心者となります。表現方法などに不確かさが
あるやもしれませんが、補足もしてまいりますので、よろしくお願い致します。
Excel2003を使用しております。
1.A列の数字を参照し、範囲ごとに1~4の数字を割り当て、その結果をB列に出す。
・1~10の範囲は、B列に1
・11~20の範囲は、B列に2
・21~30の範囲は、B列に3
・31~40の範囲は、B列に4
という感じです。
2.B列に対しC列の数字を乗算し、その結果をD列に出す。
というものを作りたく、ネットで調べIF関数を使用してみました。B列に狙い通りの
数字が出たのですが、何故かB列にC列を掛けても結果は全て「0」になってしまいます。
(文字扱いになってる?)
この様な場合、どの様な関数・計算式を使用すれば良いのか、ご教授ください。
回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:2012/01/14 10:03
>~以上~以下の場合○
の丸は文字列の○でないらしいね。ややこしい書き方だ。
「値の範囲に応じてコードを振りたい」とでも書くべきだろう。
ーーー
それならVLOOKUP関数のTRUE型の課題でしかない。VLOOKUP関数を思いつかないようでは、エクセル関数の本など
読んだこともないのでは。まずエクセル関数の代表的な50関数ぐらいの本を読んで勉強してからエクセル関数を使うこと。
ーー
Googleで「VLOOKUP関数 TRUE型」出照会すると
http://www.yoshikawa.co.jp/ybs/skilup/ybs0308.htm
http://www.eurus.dti.ne.jp/yoneyama/Excel/kansu/ …
http://okwave.jp/qa/q925839.htmlの私の回答。
0
1001
2001
・・
千単位のコードを振る例
No.5
- 回答日時:2012/01/13 23:21
セルB1に式[=int((A1-1)/10)+1]を設定して、右下の■を下方向にドラッグ
No.4
- 回答日時:2012/01/13 23:19
アナタがご質問に添付された画像はExcel2003じゃなく2007以降のスクリーンショットですが,まぁ今回はあまり関係ないので大丈夫です。
ゼロになるのは,計算に使っているセルを間違えている(B列とC列じゃなくB列とF列を計算してたみたいな)ので無い限り,次の条件の場合に起こります。
1.B列で文字を計算している。
よくある間違い: =IF(A1<10,"1",… のような式を書いている
2.C列で文字を計算若しくは記入している。
同上,またはセルの書式設定が不適切。
3.D列でわざわざPRODUCT関数を使ってかけ算をしている
【基本的な対処】
実はB列C列は今のままでも,かけ算の式を
D2:
=B2*C2
と書くだけで,かろうじて計算は正しく出てきます。
あとはまぁ,B列の式は
=IF(A2="","",IF(A2<=10,1,IF(A2<=20,2,IF(A2<=30,3,IF(A2<=40,4,5)))))
のように,"1"じゃなく1を計算する式に直しましょう。
#参考
=IF(A2=0,"",INT(A2/10)+1)
でもいいです。
C列も,いま計算式を入れているのか生数字を入れているのか判りませんが,生数字を入れているなら
1.C列を選んで標準の表示形式を付け直す
2.数字の5を必ずもう一回記入し直す
D列も実際には
=IF(A2="","",B2*C2)
という式にします。
No.3
- 回答日時:2012/01/13 22:46
今、気がついた。
あなたのワークシート、B列の数値が左に寄っているということは、B列が文字扱いになっているはずです。
だから、結果が「0」になるのです。
No.2
- 回答日時:2012/01/13 22:43
私のエクセル2003では、こういう形で目的を達成できました。(上から順になっています。)
【B列】
=IF(AND(A1>=1,A1<=10)=TRUE,1,"")
=IF(AND(A2>=11,A2<=20)=TRUE,2,"")
=IF(AND(A3>=21,A3<=30)=TRUE,3,"")
=IF(AND(A4>=31,A4<=40)=TRUE,4,"")
【D列】
=B1*C1
=B2*C2
=B3*C3
=B4*C4
「0」の部分が文字扱いになっているなら、数式を一旦消去し、セルの条件を「標準」にしましょう。
No.1
- 回答日時:2012/01/13 22:40
こんばんは!
A列数値は40を超えるものはないという前提です。
↓の画像のように表を作成しておきます。
実際は薄い緑の列だけで良いのですが、判りやすくするために未満の列(G列)を入れています。
B2セルに
=IF(A2="","",VLOOKUP(A2,$F$2:$H$5,3,1))
D2セルは単に
=IF(A2="","",B2*C2)
としてB2・D2セルともオートフィルで下へコピーすると
画像のような感じになります。m(_ _)m
- 質問者のみ
- ベストアンサーを選ばずに質問を締め切る
注目の記事
教えて!Firefox
より速く、より安全なウェブブラウザ「Firefox(ファイアーフォックス)」に関する疑問をみんなで解決。全くの初心者から上級者までFirefoxの魅力を十分に味わうために、教えて!gooのユーザーみんながお手伝いします。
このカテゴリで人気のQ&Aランキング
- 4Excel文書が読み取り専用になって解...
- 5エクセル STDEVとSTDEVPの違い
- 6エクセルのセルに入力した文字数
- 7VLOOKUP関数で複数の検索値を設定し...
- 8excelからexcelへの差し込み印刷
- 9EXCELの日付データを文字列に変換し...
- 10Excelで、エラーの #DIV/0! を表示...
- 11エクセルに写真の貼り付けが出来ま...
- 12エクセルにおいて、シートの保護を...
- 13エクセルで列の全ての項目に文字を...
- 14エクセルで条件に合うものを別シー...
- 15行間を詰めるには・・・
- 16エクセルで図形やオートシェイプの...
- 17エクセルで、条件に一致した行を別...
- 18エクセル 0や空白のセルをグラフに...
- 19【Excel2007】ファイルを開く際のパ...
- 20ワードのチェックボックス





