すみません。
IF関数でお教えください。
IF関数を使用したのですが、ある数式を論理式に入れ、
TRUEの時、(ある数式)=14
FALSEの時、(ある数式)=21
と表示され、実際そのセルはTRUEだったのですが、
セルに現れた数字は「35」でした。
なぜ、このような事が起こるのでしょうか?

素人ゆえ、ご迷惑をお掛けしております。
どなたかお教えください。
よろしくお願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

どのセルに、どのようなデータを入れ、IF文は具体的にどのように書きましたか?


あなたの質問内容だけでは、どこが間違っているか判断しかねます。

補足をお願いします。
    • good
    • 0
この回答へのお礼

ご質問ありがとうございます。
数式を見直そうと、再度セルを開いたところ、
IF関数を入力する前の計算式が残って居るのを発見しました。
=(数式)+IF関数
という内容になっていたため、トンチンカンな結果となっていたようです。

ご迷惑をお掛けいたしました。
しかし、つっこんでくださったおかげで、間違いに気づくことができました。
ありがとうございました。

お礼日時:2001/07/09 23:51

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

このQ&Aと関連する良く見られている質問

QIF関数の応用?自動表示される数式を教えてください。

IF関数の応用?自動表示される数式を教えてください。

画像を見ていただくと、レベルが4段階あります。
%の部分は数字を手入力します。(0%~100%)

求めたいのは黄色のセルの部分で、
「レベル〇」と自動的に表示させたいです。

【レベルの条件】
レベル1のみ%が入力されている場合はレベル1。
レベル1が100%、かつ、レベル2が70%以上の場合はレベル2。

ただし、レベル1が80%でレベル2が70%以上でもレベル1です。
つまりレベル1が100%で、さらにレベル2が70%以上の場合のみ、
レベル2になります。

なのでレベル3の条件は、レベル1と2が100%、かつ、レベル3が70%以上、
レベル4の条件はレベル1と2と3が100%、かつ、レベル4が70%以上となります。

上記のような条件の中で、%枠を手入力していくと、
黄色のセルにレベルが自動的に表示されるようにしたいです。

IF関数とAND関数を混ぜて色々やってみましたが、
レベル3以上を表示させようとするとだめでした。

どうかお知恵を貸してください。

Aベストアンサー

=MIN(4,IF(B2=0,0,IF(B2=1,99,1)),IF(B3<0.7,1,IF(B3=1,99,2)),IF(B4<0.7,2,IF(B4=1,99,3)),IF(B5<0.7,3,IF(B5=1,99,4)))

これだと、5レベルが追加されても式の一部を変更するだけですみます。
・最高でも4レベル =MIN(4,
・レベル1の%が入力されていない場合はレベル0、レベル1が100%なら上位レベル、でなければレベル1。IF(B2=0,0,IF(B2=1,99,1)),
・レベル2の%が70%未満の場合はレベル1、レベル2が100%なら上位レベル、でなければレベル2。IF(B3<0.7,1,IF(B3=1,99,2)),

(以下同様)

QFALSE & TRUE について

初歩の質問ですが関数でたとえば VLOOKUP(A1,商品,0)
の式があります。
検索の型がFLASEとなっていたり 0 となっていたり
します。TRUEは 1 とか TRUE になっています。
なにか使い分けがあるのでしょうか?
分かる方教えてください。

Aベストアンサー

VLOOKUP()等における検索の型の指定は、Excelのヘルプ等の記載では、TRUE or FALSEですが、コンピュータ言語の世界では、

FALSE = 0
TRUE <> 0 (0ではない数値=0以外の数値)

という決まりがあるので、FALSEの代わりに 0 を、TRUEの代わりに 1 を使うことができます。(FALSE or TRUEと 0 or 1 とで、特に使い分けというのはないと思います。)

QエクセルではIF関数なのにアクセスではIIF関数?

なぜエクセルではIF関数なのにアクセスではIIF関数?

IF関数はアクセスではIIF関数になりますが、
なぜ「I」が増えるのでしょうか?

またIF関数はイフ関数と読みますが
IIF関数は「イイフ」関数と読めばいいのでしょうか?

よろしくお願い致します。

Aベストアンサー

>エクセルではIF関数なのにアクセスではIIF
アクセスでも、形だけについて言えば(関数とステートメントの違いはあるが形だけで言うと)
・クエリのグリッドで使う場合と
・VBAのモジュールで使う場合と
・アクセスのSQL文でどうか
あります。
アクセスでもVBAではIFは使えます。
クエリのグリッドではIFは使えないようだ(「式に未定義関数Ifがあります」、のエラー)。
SQLではIF,IIFは使えません。
http://bbs.wankuma.com/index.cgi?mode=al2&namber=14014&KLOG=29
エクセル関数にも、IIF関数が増えたかと思ったが、まだ増えてないようだ。
エクセルでもVBAではIifが使えます。
伝統的にIIFがアクセスの方で設けられている。理由は聞いても誰にもわからないのではないか。
ーー
読み方は、ここに質問するより、Googleなどで照会するのが良い。
(こういう一般的な質問は、ここよりGoogleなどの照会のほうが良い。)
「iif 読み方」で照会。
「アイイフ」が多いようだ。
http://barbwire.blog49.fc2.com/blog-entry-43.html ほか

>エクセルではIF関数なのにアクセスではIIF
アクセスでも、形だけについて言えば(関数とステートメントの違いはあるが形だけで言うと)
・クエリのグリッドで使う場合と
・VBAのモジュールで使う場合と
・アクセスのSQL文でどうか
あります。
アクセスでもVBAではIFは使えます。
クエリのグリッドではIFは使えないようだ(「式に未定義関数Ifがあります」、のエラー)。
SQLではIF,IIFは使えません。
http://bbs.wankuma.com/index.cgi?mode=al2&namber=14014&KLOG=29
エクセル関数に...続きを読む

Qアクセス97のクエリーでIF関数を使って特定のコードがある場合に*を表示させたいのですが、うまくいきません。

会社でマイクロソフトAccess97を使って作業しています。
初心者で分からないことだらけでして、基本的なことだと思うのですがこちらで質問させていただきます。
給与年月・社員番号・名前・給与コード・給与額のフィールドを持ったテーブルがあります。
従業員一人につき、同年月の給与で複数行の給与項目・金額を持っている形です。(以下イメージ)

給与年月 社員番号 名前 給与コード 給与額
200709   001    花子  A01    200000
200709   001    花子  C02    20000
200709   001    花子  M05    10000
200709   002    太郎  A01    230000
200709   002    太郎  B04     35000
200709   002    太郎   L02     5000
               
このテーブルを使ったクエリーで、給与コードがA番台~L番台のものだけを抽出させようとして、
それは式を入れてうまくいったのですが(以下例の通り、結果M05の行は表示されなくなった)、
それと同時に特定の給与コード(例えばL01とL02)があった場合にはその行に「*」を表示、
それら以外なら何も表示しないというフィールドを追加したいのですが、うまくいきません。
クエリーデザイン画面で「要確認」のフィールドを追加、フィールド名欄に、
要確認:IIF([給与コード]=”L01” or “L02”,”*”,””)
という式を入れたのですが、結果全ての行に「*」が表示されてしまいます。(以下例)
目指したいのは、この例で言うと、最終行太郎のL02の行のみに「*」を表示させることなのですが。。。

給与年月 社員番号 名前 給与コード 給与額 要確認
200709   001    花子  A01    200000    *
200709   001    花子  C02    20000    *
200709   002    太郎  A01    230000    *
200709   002    太郎  B04     35000     *
200709   002    太郎   L02     5000     *

何を変えたら、目指す結果を得られるでしょうか?

会社でマイクロソフトAccess97を使って作業しています。
初心者で分からないことだらけでして、基本的なことだと思うのですがこちらで質問させていただきます。
給与年月・社員番号・名前・給与コード・給与額のフィールドを持ったテーブルがあります。
従業員一人につき、同年月の給与で複数行の給与項目・金額を持っている形です。(以下イメージ)

給与年月 社員番号 名前 給与コード 給与額
200709   001    花子  A01    200000
200709   001    花子  C02    20000
...続きを読む

Aベストアンサー

式が間違っています

要確認: IIf([給与コード]="L01" Or [給与コード]="L02","*","")

QIF関数 AND関数 ?

説明がいまいちですみませんが、よろしくお願いします
A列に個人の登録番号
B列に(1)~1.9 (2)~2.9 (3)~3.9(時間割の値)手入力 家庭教師の場合+0.1 特別教員が行った場合教員によって値+0.2~0.9
C列にVLOOKUP関数を使い(別シートにリストあり)
個人データ
1=Aさん、(1)12:00~13:50  (2)12:10~14:10 (3)14:00~17:20 
2=Bさん、(1)10:00~11:00  (2)10:00~12:00 (3)11:00~14:00   
          :
          :

B列に入力された値に反映して
Aさんの場合Bの値が1だったらC列に12:00~13:50と自動的に出していますが・・
時々時間が変更するときがあります。
そこで、変更があったときだけD列に時間入力(手入力)したいと思っています。
D列に時間の値を入力するとC列のデータがなくなる方法ありましたら教えてください。
よろしくお願いします。




 

Aベストアンサー

C1=IF(D1="",VLOOKUP(...),"")
でいいのでは?


人気Q&Aランキング

おすすめ情報