IF関数を使って値を算出したい2

このQ&Aのポイント
  • あるアクセルテーブルの列に、1~360の数値が入っています。
  • IF関数/Format関数等を使って、クエリーを活用し数字を変換したい。
  • 2つのルールに基づいて値を変換したいです。
回答を見る
  • ベストアンサー

IF関数を使って値を算出したい2

あるアクセルテーブルの列に、1~360の数値が入っています。 ※800件くらいある これをIF関数/Format関数等を使って、クエリーを活用し以下ルールで数字を変換したいのですが、 できますでしょうか。 (2種類を検討したい) ■1つ目 1~30・・・・1 31~60・・・2 61~90・・・3 91~120・・4 121~150・・5 151~180・・6 181~210・・7 211~240・・8 241~270・・9 271~300・・10 301~330・・・11 331以上~・・・12 ■2つ目 1~30・・・・1 31~60・・・2 61~90・・・3 91~120・・4 121~150・・5 151~180・・6 181~210・・7 211~240・・8 241~270・・9 271~300・・10 301~330・・・11 331~360・・・12 361以上~・・・13 ※テーブルからクエリーで算出する際のIF関数・式等には特にこだわらないです(クエリーで算出できればOK)。 お知恵をいただけるとたすかります。

質問者が選んだベストアンサー

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

単純にだと 1つ目:IF([フィールド名]<=0,0,MIN(INT(([フィールド名]-1)/30),12)) 2つ目:IF([フィールド名]<=0,0,MIN(INT(([フィールド名]-1)/30),13))

jordan232011
質問者

お礼

応用ききますね。試してみます(感謝!)。

その他の回答 (1)

回答No.2

(1+29)/30=1 (30+29)/30=1.9666 (1+29)/30+(30*1/30)=1+1 (30+29)/30+(30*1/30)=1.9666+1  :  : (1+29)/30+(30*N/30)=1+N (30+29)/30+(30*N/30)=1.9666+N 変換して求めたい値は、いずれも上記の計算で求まる商に一致する。(多分)

jordan232011
質問者

お礼

ありがとうございます。

関連するQ&A

  • IF関数を使って値を算出したい

    あるエクセルの列(セル)に、1~360の数値が入っています。 これをIF関数を使って(別のセルで)以下ルールで数字を変換したいのですが、 できますでしょうか。 (2種類を検討したい) ■1つ目 1~30・・・・1 31~60・・・2 61~90・・・3 91~120・・4 121~150・・5 151~180・・6 181~210・・7 211~240・・8 241~270・・9 271~300・・10 301~330・・・11 331以上~・・・12 ■2つ目 1~30・・・・1 31~60・・・2 61~90・・・3 91~120・・4 121~150・・5 151~180・・6 181~210・・7 211~240・・8 241~270・・9 271~300・・10 301~330・・・11 331~360・・・12 361以上~・・・13 ※IF関数にはこだわらないです(xls内で算出)。

  • IF関数を算出した値を合計する

    こんにちは。 IF関数を使用した値を合計することができない為、お力を下さい。 IF関数で=IF(A1<B1,C,D)と組んだ式ででた値を合計したいのですが 上手くできません。 文字列かと思いセルの書式設定を数値にしたのですができませんでした。 エラーメッセージも出ないため、何が問題なのかがわかりません。 わかることがあれば教えてください。 宜しく御願い致します。

  • IF関数について

    お世話になります。 IF関数で教えていただきたく、宜しくお願いします。 最近エクセルを触り出した超初心者です。 A列の数字とB列の数字を掛けて出た数字(C列)が 500以下なら500と表示し、 掛けた数字が500以上ならその掛けて出た数字が入るようにしたいのです。 500以上の数字となった時に、うまく表示されません。 =IF(C1<300."300","C1") この、"C1"のところが分からず、、

  • 自作関数でIF文はできないのか?

    SELECT テーブル1.ID, IIf([テーブル1]![ID]=1,"1です","1ではない") AS 1かどうか FROM テーブル1; というクエリ1を作成しました。 「IIf([テーブル1]![ID]=1,"1です","1ではない")」の部分を vbaのFunctionプロシージャーで記述したいのですがうまくできないです。 標準モジュールに Public Function IF文() IF文 = "IIf([テーブル1]![ID]=1,""1です"",""1ではない"")" End Function を作成し、 クエリ1のSQL文を SELECT テーブル1.ID, IF文() AS 1かどうか FROM テーブル1; としたら 「1かどうか」フィールドには関数式の結果ではなく、 関数式が文字列として表示されました。 (添付参照) 訳あって、 SQL文の一部をvbaで記載したいのですが上記のようなことは不可能でしょうか? ご教授よろしくお願い致します。

  • sumif関数とif関数と配列の使い方

    例えば、下記のように9行×3列のデータがあり、1列目が123かつ2列目がcであるものについて3列目を合計したいのですが(つまり300+600で900を算出する)、1セルに値を算出する方法があれば教えてください。 sumif関数とif関数と配列を使えばできそうな気がするんですが、やり方がよくわかりません。よろしくお願いします。 123  a  100 123  b  200 123  c  300 456  a  1000 456  b  2000 456  c  3000 123  a  400 123  b  500 123  c  600

  • IF関数ですと長くなってしまうので・・・

    既出でしたらすみません。 A列  B列  C列 1    1    出勤 2    2    出勤 5    3    休み      4    休み      5    出勤 というデータが入っていたとしまして、 C列の「出勤」(実際は時間が入っていますが)の場合には B列の数値をA列に表示させたいのですが、 出勤の番号を上から順番に表示させる関数がわかりません。 (今A列に入っている数値が本来表示させたい結果です) IF関数で出来ない事はないですが、TRUE,FALSEだけを繰り返していくと そうとう長くなってしまうので、何か良い方法がないでしょうか? よろしくお願い致します。

  • エクセル vlookupとIF関数

    先ほどこちらで質問した者です。関連してもうひとつお願いします。http://oshiete1.goo.ne.jp/qa3870287.html A列:ID(一部) B列:確定金額 C列:発生金額 I列:=IF(ISERROR(B5/C5),0.6,IF(B5/C5>=1,1,B5/C5))    先ほど教えてもらった数式を入れています。確定金額÷発生金額の割合 L列:ID(全て) 算出したい数値は、M列に「全IDの確定金額÷発生金額の割合」です。 L列を軸にvlookupを使用して、A列に引き当たるIDのものは、すでに数値が出ていますが、L列にあってA列に無いもの(エラー表示になってしまっているもの)を、すべて60%にしたいです。 M列には既にvlookupの関数が入っていますが、可能でしょうか? ちなみにA~C列はピボットテーブルです。

  • エクセルIF関数について

    エクセルIF関数について お世話になっております。エクセルのIF関数について教えてください。 例えばA1に任意で入力する数字があるとします。 このA1の数字が4以下なら○、10以上なら×、5-9の間なら何も表示しないというような関数を組みたいのですが、どなたか教えていただけないでしょうか? たぶん、IF関数だと思いますが、もし違うならその関数を教えてください。 よろしくお願いします。

  • IF関数について・・・

    A1のセルに数字を入力したら B1のセルに次の表示されるようにしたい場合 IF関数をどのように使えば良いか教えて下さい。 「○○○A1○○○」    *○は文字でA1は数値です。

  • テキスト型に入れた値を数値に変換し、「#エラー」を

    テキスト型に入れた値を数値に変換し、「#エラー」を0にしたいです。 access2003です。 テーブル1を ・テキスト型 ・主キーなし として データを 1 2 あ を投入します。 そして SELECT CLng(テーブル1!フィールド1) AS 数値型に変換 FROM テーブル1; クエリを作りました。 このクエリを開くと 1と2は数値に変換されますが、文字列を入れた「あ」は 「#エラー」になります。 「#エラー」を0にしたいのですが どうすえばいいのでしょうか?

専門家に質問してみよう