ジメジメする梅雨のお悩み、一挙解決! >>

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

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

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

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

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

宜しくお願いします。

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

アンサープラス

以下のサイトでは、エクセルの使い方について基本から関数の使い方まで詳しく載っています。



AllAboutデジタル エクセル(Excel)の使い方
https://allabout.co.jp/gm/gt/1909/

A 回答 (5件)

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



でどうでしょうか?
    • good
    • 70
この回答へのお礼

ありがとうございます!
ばっちりでした!

お礼日時:2005/05/10 17:56

数値を文字と考えるかどうかで、回答が違います。


つまり、「123」を百二十三という数値(演算の対象となります)とみなすか、1と2と3が列んだ文字とみなすかで違うわけです。
数値も文字とみなすなら、#2~#4の方の回答通ですが、数値と文字とを区別するなら#1の方の回答のようになります。
    • good
    • 13
この回答へのお礼

今回は数字が入ることはなかったので#2~#4の方の回答どおりでした。
今後も参考になると思います!
ありがとうございます!

お礼日時:2005/05/10 18:08

私ならこうします。


=IF(A1="",B1-C1,"")
もしもA1セルに文字が入っていなければB1-C1。
そうでなければ空白に。
結論は一緒ですよね?
お役に立てば光栄です。
    • good
    • 22
この回答へのお礼

そうですね!
ありがとうございます!

お礼日時:2005/05/10 18:06

A1セルに『どんな文字でも』入っていたならばを逆の発想にしてみては?


つまり
A1セルに文字が入っていないとして

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

が一番簡単なのでは

この回答への補足

そうですね!
勘違いしてました!
OKです!
ありがとうございます!

補足日時:2005/05/10 18:05
    • good
    • 9
この回答へのお礼

えーっと・・・すみません。。。
ちょっと意図したことと違うようです。
ありがとうございます。

お礼日時:2005/05/10 18:03

『どんな文字でも』は、何も入っていない状態以外なので、


<>""
で表現できます。
なので、
=IF(A1<>"","",B1-C1)
となります。
    • good
    • 24
この回答へのお礼

なるほど!
そういう手もあるのですね!
使わせてもらいます!
ありがとうございます!

お礼日時:2005/05/10 17:57

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

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

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

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

QEXCELで、指定セルにある文字列が入っていれば、別のセルに指定文字を入れたい

EXCELで、指定するセルに、例えば「猫」という文字列が入っていれば、
別の指定セルに1という数字をいれ、
入っていなければ、0という数字を入れたいです。

IF関数を使えばよいのかと思ったのですが、
よくわかりません。
すみませんが教えていただけないでしょうか。

Aベストアンサー

指定セルをA1とします。

=IF(A1="猫",1,0)

でOKです。
文字列を見るときは、" "で囲めばいいのです。

Q【エクセル】指定したセルに入力することで、別の特定のセルに決まった文字を表示させるには?

社用データを作る際の手間を省こうとしたのに、かえって難しくなってしまいました(-"-;)
分かりにくい質問で恐縮ですが、よろしくお願いします。

現在Excel2003を使っています。
「指定したセルに文字・数字問わず入力があった場合、特定のセルに特定の文字を表示させる数式(または方法)」は無いでしょうか。
(できれば指定したセルに入力が無い限り、特定文字を表示させるセルは非表示のままにしたいと思っています)

例えば、「A1のセルに『○田×男(人名など)』と入力した時、B1のセルに『様』と表記させる」と言った具合です。
(このとき、A1に入力が無ければB1も空白のままにしておきたいのです)

手動で入力した方が早そうな気もしますが、応用次第で他の表や作業もスッキリしそうなので、手があれば是非ご教授下さい。

Aベストアンサー

間違えました。

B1 に
=IF(A1="","","様")

でした。

Q【エクセル】もし、A1に文字列が入っていたら・・・

既出でしたら、申し訳ありません。
エクセル初心者です。

もし、A1に文字列が入っていたらB1は文字列を表示
もし、A2が空欄であったらB2は空欄

という関数を使いたいのですがどうしたら良いでしょうか。

以下 シートイメージ
--------
  A1  B2
1 佐藤
2
--------
単純に=IF(A1,A1,"")で、返ってくるかと思ったら#VALUE!が出てダメでした。
どうぞ宜しくお願い致します。

Aベストアンサー

=IF(A1="","",A1)

の、間違いじゃ無いですか?

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行までとしていますが、必要に応じて変更して下さい

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ある範囲のセルから任意の値を検索して、その隣のセルの値を取得するという関数はありますか?

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すると関係ないセルの値が返るので、
場...続きを読む

Qあるセルに特定の文字列を打つと、他のセルに決められた文字が自動入力するように

お世話になります。

表題の通り、
あるセルに特定の文字列を打つと、
他のセルにあらかじめ決められた文字が自動入力するようにしたいです。

具体的に言うと、
(1)セル(A,1)に「キリン」と打ち込むと

   A   B   C   D
1 キリン
2
3
4

(2)1列目の B,C,Dに予め決めておいた文字が入力されるようにしたい

   A   B   C   D
1 キリン 首  長い  アフリカ
2
3
4

のです。
エクセルで可能でしょうか?
詳しい方よろしくお願いいたします!

Aベストアンサー

出来ます。この場合はキリンがキーになっていますね。
先ずこのキーをもとにSheet2にデータを登録しておきます。
   A   B   C   D
1 キリン 首  長い  アフリカ
2 ゾウ  鼻  長い アフリカ
3 
4
次に表示させたいセルに
 A   B             C           D
1  =VLOOKUP(A1,Sheet2!A:D,2) =VLOOKUP(A1,Sheet2!A:D,3) ″ 
2  =VLOOKUP(A2,Sheet2!A:D,2) =VLOOKUP(A2,Sheet2!A:D,3) ″
3  =VLOOKUP(A3,Sheet2!A:D,2) =VLOOKUP(A3,Sheet2!A:D,3) ″
4  =VLOOKUP(A4,Sheet2!A:D,2) =VLOOKUP(A4,Sheet2!A:D,3) ″

を入れておきます。
これで出来ると思います。
エラー表示がいやな場合は、=IF(A1="","",VLOOKUP(A1,Sheet2!A:D,2)) の様にして下さい。

出来ます。この場合はキリンがキーになっていますね。
先ずこのキーをもとにSheet2にデータを登録しておきます。
   A   B   C   D
1 キリン 首  長い  アフリカ
2 ゾウ  鼻  長い アフリカ
3 
4
次に表示させたいセルに
 A   B             C           D
1  =VLOOKUP(A1,Sheet2!A:D,2) =VLOOKUP(A1,Sheet2!A:D,3) ″ 
2  =VLOOKUP(A2,Sheet2!A:D,2) =VLOOKUP(A2,Sheet2!A:D,3) ″
3  =VLOOKUP(A3,Sheet2!A:D,2) =VLOOKUP(A3,Sheet2!A...続きを読む

Q(Excel)あるセルに文字を入力しただけで、同じブック内のほかのワークシートにも、同じ文字が自動的に入るようにするには?

こんにちは。
質問内容はタイトルのとおりです。

あるワークシートのあるセルに文字を入力すると、ほかのワークシートのセルにも同じ文字が自動的に書き込まれる方法を知りたいです(ブックは同じ)。複数のワークシートを制御するには、やはりマクロを使うのでしょうか?

よろしくお願いします。

Aベストアンサー

clam_chowderさん、こんにちは。

Sheet1のA1にたとえば「100」と入力しますね。
Sheet2のA1に、これと同じ数値を表示するには、
 =Sheet1!A1
でOKです。

数式をいれるのが苦手なら、
Sheet2のA1セルで「=」を入力すると、数式入力状態に入りますから、
ここでSheet1のシートタブをクリックし、
リンクしたいA1セルをクリックしてEnterすると、
自動的にさきほどと同じ式が入ります。

Qエクセルの関数で、条件のセルに数字が入っていなければ、結果の表示を空欄にしたいのですが

こんにちわ。初心者です。よろしくお願いします。
エクセルで、体重管理の表を作っています。
毎日体重を入力し、目標の数値とどれくらい差があるかを表示させたいと考えています。

当日分であれば、体重が入力できるので、数式は、「目標値ー本日の体重」で問題がないのですが、翌日の体重は入力ができないため、翌日以降の欄に数式をコピーしておくと、意味のない数字が表示されてしまいます。

たぶん「IF関数」を使って、体重欄に数字が入っていない場合は、計算しないようにできると思うんですが、関数がよく理解できません。
どうしたらいいでしょうか?
よろしくご教授ください。お願いします!

Aベストアンサー

IF関数を使うときには

「もし○○だったら、××、そうでないなら△△」
と日本語で考えています

上記の文章を関数にすると

IF(○○,××,△△)

という順番になるわけです

この場合の○○や××は数式や条件になります

今回の場合であれば

例えば A1に目標体重 A2に日付 B2に本日の体重 C2に差分だとするならば

=IF(B2="","",$A$1-B2)

「もし『本日の体重』が『空白』なら『空白』そうでなければ『目標数値』(固定)から『本日の体重』を引く」

とC2に入れ、コピーをすれば毎日目標数値を入力しておかなくてもよくなります

Q【エクセル】IF関数  AまたはBならばCと表示

引き続き、お世話になります。

IF関数の使い方について教えてください。

A1セルが「1」ならば B1セルに「●」を表示 ←これは出来ます。

A1せるが「1」または「6」ならば B1セルに「●」を表示←これができません。

ANDを組み合わせるのですよね???
どのようにすればいいか、ご存じの方教えてください。

Aベストアンサー

B1のセルに、以下の数式を入力します。

=IF(OR(A1=1,A1=6),"●","")


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

人気Q&Aランキング

おすすめ情報