タイトルのとおりです

IF文で下記の3つの書き方がわかりません。

NOT=は、<>?
0以外の場合は、A1<>0?

A1が0と同じか、大きい場合は
A1>=0?

なんだか、うまくいきません^^;

よろしくお願いいたします

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

A 回答 (6件)

A1が・・・・・


A1 <> 0  0以外
A1 >= 0  0以上(0を含む)
A1 > 0   0より大きい(0は含まない)
A1 <= 0  0以下(0を含む)
A1 < 0  0未満
A1 = 0  0

=<,=> などの書き方は使えません。
    • good
    • 11

こんにちは。



私には、「なんだか、うまくいきません^^;」という、「なんだか」が分りません。それがわからないと、ズバリの解答はないかもしれませんね。

NOT(引数) の論理否定は、数学の「集合」の問題ですから、それを参考にすればよいと思います。

  =NOT(A1=0) は、 
  =A1<>0 と同じことです。

ただ、NOT を使うと、ネストが増えて分りにくくなるので、必要以外は、比較演算子の[>,<,=]で済ませたほうがよいかもしれません。

#2 さんの

>=IF(A1,"0ではありません","0です")

これは、A1 は、数値に限りますが、私は、これを知ったのは、Excelを習って2年目ぐらいだったかな?False は、値としては、「0 」で、True は、False ではないということですね。だから、-1 でも、2 でも、True になりますが、最初は、 A1<>0 と書いていました。
    • good
    • 15

NOT=


NOT(A1=0)
みたいにも書けます、気持ちの問題ですが・
    • good
    • 9

AがBとイコールでない は


(A >B) or (A < B)

Aが0と同じか、大きい場合 は
(A = 0) or (A>0)
    • good
    • 4

例えば否定は「<>」としている(全角文字で表わしている)のでうまくいかないのでしょう。

「<>」(半角文字)としなければなりません。カッコやコンマ,ダブルクオーテーションなども半角文字でなければいけません。

例えばA1セルが0以外という場合
=IF(A1<>0,"0ではありません","0です")

蛇足
ちなみにIFの判定式で「<>0」の時は省略できます(他の論理演算と組み合わせる場合はこの限りではない)。コンピューターでは0を偽(不成立),0以外を真(成立)とするからです。ここに書いてある意味がわからなければこの情報は無視してください。上記の式は下記のように書いても同じです。
=IF(A1,"0ではありません","0です")
    • good
    • 1

ほとんど合ってますが...


「NOT=は、<>?」は文字と数値で""を使う使わないの違いがあります。
=IF(A1<>"文字",真,偽)又は =IF(A1="文字",偽,真) 又は =IF(NOT(A1="文字"),真,偽)
=IF(A1<>数値,真,偽)又は =IF(A1=数値,偽,真) 又は =IF(NOT(A1=数値),真,偽)

なので、「0以外の場合は、A1<>0?」は
=IF(A1<>0,真,偽) 又は =IF(A1=0,偽,真) 又は =IF(NOT(A1=0),真,偽)

「A1が0と同じか、大きい場合」は
=IF(A1>=0,真,偽) 又は =IF(A1<0,偽,真)
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

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

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

QExcel Countifで否定条件を指定する方法

こんにちは。たびたび質問させていただきます。
EXCELの集計で一点悩んでいます。
sheet2に以下のリストが存在します
  A
1  りんご
2  みかん
3 ばなな
   ・
   ・
sheet1で次のように集計します
  A  | B
1 りんご その他
2  1   2
A2には、=COUNTIF(sheet2!$A$1:$A$100,A1)
を入れていますが、B2に対して、
 A1と一致しないもの かつ
 ブランクでないもの
という条件を指定したいのですが、よい方法はありますでしょうか?
ご紹介いただけたら幸いです。

Aベストアンサー

A1に一致しないもの(A1がブランクの場合を含む)
=COUNTIF(sheet2!$A$1:$A$100,"<>"&A1)
ブランクのもの
=COUNTBLANK(sheet2!$A$1:$A$100)
上記二つをあわせて
=COUNTIF(sheet2!$A$1:$A$100,"<>"&A1)-IF(A1="",0,COUNTBLANK(sheet2!$A$1:$A$100))
で計算可能です。

配列数式を使う方法
=SUM(IF((sheet2!$A$1:$A$100<>A1)*(sheet2!$A$1:$A$100<>""),1))
と入力してCtrl+Shift+Enterで確定する。(確定後は式が{}で囲まれます。)

#2さんのSUMPRUDUCTの場合
=SUMPRODUCT((sheet2!$A$1:$A$100<>A1)*(sheet2!$A$1:$A$100<>""))
でも可

Qエクセルで条件に一致したセルの隣のセルを取得したい

下のような「得点」という名前のシートがあります。
(「田中」のセルがA1です。)

 [ 田中 ][ 10 ][ 200 ]
 [ 山田 ][ 21 ][ 150 ]
 [ 佐藤 ][ 76 ][ 250 ]
 [ 鈴木 ][ 53 ][ 350 ]

別のシートのA1セルに、「佐藤」と入力すると、

 [ 佐藤 ]

「得点」シートから「佐藤」の列を見つけて、B1、C1に

 [ 佐藤 ][ 76 ][ 250 ]

のように表示させたいのですが、B1、C1にはどのような式を書けば良いのでしょうか。
「得点」シートでは氏名が重複する事はありません。
IF文を使うと思うのですが、いまいち良く分かりませんでした。

よろしくおねがい致します。

Aベストアンサー

こんにちは!
VLOOKUP関数で対応できます。
IF関数と併用すればエラー処理が可能です。

Excel2007以降のバージョンであれば
B1セルに
=IFERROR(VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0),"")
としてC1セルまでオートフィルでコピー!
そのまま下へコピーすると行が2行目以降でも対応できます。

Excel2003までの場合は
=IF($A1="","",VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0))

としてみてください、m(_ _)m

Q【エクセル】関数で「A1が0でないならB1を表示」の式

エクセルで適当なセルを選択して
そこに「A1が0でないならB1を表示」させるようにしたいです。
式の入力を
=IF($A1≠0,$B1,"")
とすると出来るかと思ったのですが、
≠という記号がまずいらしく出来ません。
この場合どのように式を入力したらよいか教えてください。

Aベストアンサー

一例です。
≠→<>で表記します。
=IF($A1≠0,$B1,"")→=IF($A1<>0,$B1,"")

Q別のシートから値を取得するとき

Worksheets("シート名").Activate
上記のを行ってから別シートの値を取得するのですが、
この処理を行うと指定したシートへ強制的にとんでしまいます。。。

※イメージ
For ~ To ~
  Worksheets("シートA").Activate
  シートAの値取得
       :
  Worksheets("シートB").Activate
  シートBの値取得
Next

このイメージ処理を行うとものすごい勢いで画面がチカチカします。。。
シートを変えずに他のシートから値を取得する方法はないのでしょうか。
教えてください!

Aベストアンサー

Worksheets("シートA").Range("A1")

みたいな感じでできませんか?

Q【Excel】特定の文字を含むセルをカウントしない方法

エクセルで特定の文字列(仮に「key」とします)を"含む"場合の関数は、

=COUNTIF(A1..A20,"*key)

で処理できるのは分かっているのですが、

特定文字列(key)を"含まない"場合の処理方法が分かりません。
VBAなどを介さずに関数だけで処理する方法がありましたら、ご教示願います。

Aベストアンサー

=COUNTIF(A1:A20,"<>*key*")
でできませんか?

Qある範囲のセルから任意の値を検索して、その隣のセルの値を取得するという関数はありますか?

Excelの関数について質問します。
ある範囲のせるを検索して、その隣のセルの値を取得するという関数を探しています。
なければユーザー定義で作りたいと思っています。
VLOOKUP関数では一番左端が検索されますが、
それをある範囲まで拡張して、
その右隣の値を取得できるようにしたいのです。
どうかお知恵をお貸しください。

Aベストアンサー

●X1セルの値を範囲A1:F200の中から探して、その右隣のセルの値を返す

 =OFFSET(A1,SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1))-1,SUMPRODUCT(COLUMN(A1:F200)*(A1:F200=X1)))

※最初のA1はワークシートの左上隅を示すものなので、検索範囲に関わらずA1固定
※SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1)) ⇒ A1:F200で値がX1と一致するセルの行番号

>その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
というのが前提です。複数のセルがHITすると関係ないセルの値が返るので、
場合によっては、IFをかぶせてCOUNTIFで確認した方が良いかもしれません。
 ex. =IF(COUNTIF(A1:F200,X1)=1,【上記数式】,"えらー")

ちなみに、VBAでやるならこんな感じになるかと。

動作の概要
 【検査範囲】から【検査値】を探し、
 最初にHITしたセルについて、右隣のセルの値を返す。
 ex. =Sample(X1,A1:F200)

'--------------------------↓ココカラ↓--------------------------
Function Sample(ByVal 検査値 As Variant,ByVal 検査範囲 As Range)
 For Each セル In 検査範囲
  If セル = 検査値 Then Exit For
 Next セル
 Sample = セル.Offset(0, 1)
End Function
'--------------------------↑ココマデ↑--------------------------

いずれもExcel2003で動作確認済。
以上ご参考まで。

●X1セルの値を範囲A1:F200の中から探して、その右隣のセルの値を返す

 =OFFSET(A1,SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1))-1,SUMPRODUCT(COLUMN(A1:F200)*(A1:F200=X1)))

※最初のA1はワークシートの左上隅を示すものなので、検索範囲に関わらずA1固定
※SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1)) ⇒ A1:F200で値がX1と一致するセルの行番号

>その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
というのが前提です。複数のセルがHITすると関係ないセルの値が返るので、
場...続きを読む

QEXCEL VBA で現在開いているブックのファイル名を取得する方法

EXCEL2003 VBAで業務を簡素化するために、現在開いているブックのファイル名を取得する方法が分かりません。
作業手順をマクロを使って処理していますが、オリジナルのワークブックをファイル名を変えて保存し、以後、このワークブックを読み込んで使用しています。
このときのVBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになり、以後の業務に使用できません。
常にファイル名を取得出来るVBAをどなたか、教えて下さい。

Aベストアンサー

>現在開いているブックのファイル名
 ちょっと曖昧な表現かなぁという気もいたしますが、VBAが書いてあるブックのブック名は
ThisWorkbook.Name
で、現在 "アクティブにして" 操作対象になっているブックの名前は
ActiveWorkbook.Name
ですね。

 しかし、
>VBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになり
というような文脈からすると、
ThisWorkbook.Name
の方ですかね。

QSUMIFS関数でOR条件を使いたい場合の関数

Excel2010を使用しています。
家計簿を作成しているのですが、SUMIFS関数でOR条件を使用したい場合どのように書けばよいでしょうか。

図は、明細と合計欄です。
ピンクのセルが円、それ以外はドルです。
合計欄のように、円とドルをそれぞれ分けて項目毎の合計額を出したいです。
セルE21のように、円の場合は「MUFJ」「ゆうちょ」ですので、MUFJとゆうちょのSUMIFS関数合計値を足しています。
これを、1行にまとめたいのですが、適切な関数はないでしょうか?
SUMIFSではOR条件が使えないようですので・・・・・・

明細行に円・ドルの列を追加すれば簡単なのですが、明細行の列はこれ以上増やしたくないので、できれば数式のほうで処理できればと思っています。

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

Aベストアンサー

例示のデータなら以下のような数式になります。

=SUM(SUMIFS($C$2:$C$14,$D$2:$D$14,{"MUFJ","ゆうちょ"},$B$2:$B$14,B21))


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報