今だけ人気マンガ100円レンタル特集♪

お世話になっております。<(_ _)>
タイトル通りなのですが、セルに入力されているものが文字列だったらTrueかFalse、またはその逆。
というように返してくれる関数ってありますか?

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

A 回答 (5件)

ごめんなさい


ISNUMBER関数は数字か否かです。
ISTEXT関数のようですね
    • good
    • 4
この回答へのお礼

なるほど!
ありがとうございました(^○^)

お礼日時:2007/06/19 13:14

=IF(TYPE(参照セル)=1,"数値",IF(TYPE(参照セル)=2,"文字列","その他"))


でどうでしょう。
    • good
    • 9
この回答へのお礼

それいただきます!

お礼日時:2007/06/19 13:15

=IF(ISNUMBER(A1),"数字",IF(ISTEXT(A1),"文字列","その他"))


「その他」とはエラー値、TRUEやFALSE値などの場合。
    • good
    • 5
この回答へのお礼

すごいわかりやすいです。
どうもありがとうございました。(^○^)

お礼日時:2007/06/19 13:15

=ISTEXT(A1) または =ISNONTEXT(A1)

    • good
    • 0
この回答へのお礼

いろいろあるんですね。
どうもありがとう(^○^)

お礼日時:2007/06/19 13:14
    • good
    • 0
この回答へのお礼

ありがとうございます!

お礼日時:2007/06/19 08:33

このQ&Aに関連する人気のQ&A

お探しの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文字列から英数字のみを抽出する関数

文字列から英数字のみを抽出する関数を教えていただきたいです。

セルの文字列にはひらがな、カタカナ、数字、アルファベット、記号等を含みます。

色々調べてはみたのですが、数字のみを抽出する関数の説明はたくさんありますが、
アルファベットも含むとなると見つかりませんでした。

数字0~9とアルファベット27個の計37個の文字なので、どうにか関数でできると思うのですが。

具体的には下記のようにしたいのです。

●A列
今日iPhone5をauで購入
最新のNEWSを15時~PCで見る 
Moonshotを生み出す「Google X」

●B列にこう表示したいのです。
iPhone5au
NEWS15PC
MoonshotGoogleX


スペースは残ったままでも結構です。

詳しい方、どうかよろしくお願いいたします。

Aベストアンサー

>数字のみを抽出する関数の説明はたくさんありますが

文字列の中に数字が「一塊だけ」ある場合の説明は多分沢山ありますが、(今回のご質問のように)「文字数字文字数字文字数字」と不定数入り混じってる場合の数式は、全く見つからなかったと思いますよ。

たとえば「英数字が最大限3カタマリまで」といった制約を付けて無理矢理関数をくっつける事は出来なくはありませんが、正直不細工ですし、そもそもあんまり現実的じゃありません。



手順:
ALT+F11を押す
現れた画面で挿入メニューから標準モジュールを挿入する
現れたシートに下記をコピー貼り付ける

public function myf(a) as string
 dim i as long
 for i = 1 to len(a)
 if mid(a,i,1) like "[0-9a-zA-Z ]" then
  myf = myf & mid(a,i,1)
 end if
 next i
end function

ファイルメニューから終了してエクセルに戻る

任意のセルに元の言葉を記入し、
=myf(A1)
のように計算する。

>数字のみを抽出する関数の説明はたくさんありますが

文字列の中に数字が「一塊だけ」ある場合の説明は多分沢山ありますが、(今回のご質問のように)「文字数字文字数字文字数字」と不定数入り混じってる場合の数式は、全く見つからなかったと思いますよ。

たとえば「英数字が最大限3カタマリまで」といった制約を付けて無理矢理関数をくっつける事は出来なくはありませんが、正直不細工ですし、そもそもあんまり現実的じゃありません。



手順:
ALT+F11を押す
現れた画面で挿入メニューから標準モ...続きを読む

Qエクセル 数値だけ抽出するには?

エクセルで、文字列+スペース+数字と入力されているセルから数値だけ取り出す方法を教えていただけますか?
文字列とスペースの字数は一定で、数値の桁数は6-8桁と変動します。
A列からb列のように変換したいのです。

A列          B列
PMID:_12345678    12345678
PMID:_123456     123456

宜しくお願いいたします。

Aベストアンサー

B1に
VALUE(REPLACE(A1,1,6,""))
でよいでしょう.

数値の桁数には依存しません.

QVBAにてデータが数字か文字かを判定するには

VBAにてデータが数字か文字かを判定するには、
どうすれば良いのでしょうか?

文字数は任意で決まっていません。


123 ← 数字
あい ← 文字
1F  ← 文字
G  ← 文字

Aベストアンサー

こんにちは。

数字か文字かなら、IsNumeric でよいと思いますが、数値か文字かでしたら、VarType を使います。私の場合は、IsNumericは、めったに使いません。VarTypeのほうが多いですね。IsNumeric は、文字通り、文字か数字かで、文字列書式の数字も含まれます。なお、VBAでは、数字は、数値型に型キャストされますので、特に問題は発生しません。

ご参考までに。

Sub Test()
 If VarType(Range("A1").Value) = vbDouble Then
  MsgBox "数値"
 ElseIf VarType(Range("A1").Value) = vbString Then
  MsgBox "文字列"
 Else
  MsgBox "その他" '代表的なものはエラー値です
 End If
End Sub

-----------------------------------------
こちらの場合は、全角数字も、数字として扱われます。

Sub Test2()
 If IsNumeric(Range("A1").Value) Then
   MsgBox "数字"
 Else
   MsgBox "数字ではない"
 End If
End Sub

こんにちは。

数字か文字かなら、IsNumeric でよいと思いますが、数値か文字かでしたら、VarType を使います。私の場合は、IsNumericは、めったに使いません。VarTypeのほうが多いですね。IsNumeric は、文字通り、文字か数字かで、文字列書式の数字も含まれます。なお、VBAでは、数字は、数値型に型キャストされますので、特に問題は発生しません。

ご参考までに。

Sub Test()
 If VarType(Range("A1").Value) = vbDouble Then
  MsgBox "数値"
 ElseIf VarType(Range("A1").Value) = vbString Th...続きを読む

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 VBA で現在開いているブックのファイル名を取得する方法

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

Aベストアンサー

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

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

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

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

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

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

Aベストアンサー

IF関数を使うときには

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

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

IF(○○,××,△△)

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

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

今回の場合であれば

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

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

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

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

Q数値とアルファベットに分ける(エクセル)

例えばA列に
ABCD1234
KJD234
LO2335
FDRTY3523
上記のように品番が入力されていたとします
これをアルファベットをB列に数値をC列に
分ける簡単な方法はありませんか?
やはり、関数しかないでしょうか?

Aベストアンサー

こんにちは。KenKen_SP です。

A1 からデータが始まるとして、

B1 の数式:(アルファベット部)
=LEFT(A1,MIN(FIND({1,2,3,4,5,6,7,8,9,0},ASC(A1)&1234567890))-1)

C1 の数式:(数字部)
=RIGHT(A1,LEN(A1)-LEN(B1))

とし、B1:C1 を選択して、データ終端までフィルでコピーです。
関数のままが嫌なら、最後にコピー&形式を選択して貼り付け で値にすれば
良いと思います。

Q複数の文字列のいずれかが含まれていたらTRUEを返す関数について

複数の文字列のいずれかが含まれていたらTRUEを返す関数について
エクセル2003を使用しています。
B列に例えば住所が入力されていて、「東京都北区」「千代田区」「東村山市」等いくつかの文字列のいずれかが含まれていたら、A列にTRUEを返すということをしたいのですが方法がわかりません。
単純なことのような気がするのですがどうしても思いつきません。よろしくお願いいたします。

Aベストアンサー

こうかなあ。。。
A2セル
=OR(SUBSTITUTE(B2,$D$2:$D$4,"",1)<>B2)
[Ctrl]+[Shft] +[Enter] で確定、配列数式です({}で囲まれる)
下へオートフィル

D2:D4に文字列を入力しておく

Q数値かどうかを取得したい IsNumberではダメ

Sub Macro2()
Dim mystr As String

mystr = "1"
If IsDate(mystr) = False Then
MsgBox "NO"
End If

End Sub

これなら日付型かどうかを取得できるのに、

Sub Macro1()
Dim mystr As String

mystr = "1"
If IsNumber(mystr) = False Then
MsgBox "NO"
End If

End Sub
だと、IsNumberがコンパイルエラーになります。

変数に入っている値が数値として評価できるかを取得する方法を教えてください。

Aベストアンサー

こんにちは。

これは初歩的なことではあっても、最初はなかなか手こずります。こういうことは、教えもらったほうが早いようです。

#2さんのおっしゃる通り、IsNumberは、ワークシート関数ですから、VBA上での使い方はお分かりになるとは思いますが、しかし、私は、VBAでは、IsNumber は使いません。

ただし、Cells のText プロパティでも同じ反応ですが、String型のデフォルト値は、""(長さ0の文字列)です。基本的には、String型で値を取ることはしません。それに、ふつうは、Cellsから直接取り出すことは避けたほがいいです。一端、変数に入れてから、判定させたほうがよいです。ワークシートの数式は、関数に関数を重ねますが、VBAなどの言語では、あまり関数や数式をネストしないほうがよいと言われます。

IsNumeric VBA関数は、少し意味合いが違います。「[数字]かどうか」という判定で、「[数値]かどうか」ではありません。もちろん、以下のようなワークシート関数を応用したコードはあるとは思いますが、これだと、他のVBAやVBでは応用できません。(英語で考えると変ですね。数値というのは、"Numeric"です。数字は、"Figure" です。もしかしたら、名前付けの時に間違えたかもしれません。(^^;)

'//
Sub Macro3()
Dim myVal As Variant
Dim myVal2 As Double
 myVal = "1"
 If WorksheetFunction.IsNumber(myVal) Then
   MsgBox myVal2
 Else
  MsgBox "Not Numeric: " & myVal
 End If
End Sub

'VBA関数を使う場合は、上記とはマクロとしての目的が違いますが、このようにします。
'あえて、Double型にしましたが、不要な場合はLong型にしてもよいです。

Sub Macro4()
Dim myVal As Variant
Dim myVal2 As Double
 myVal = "1"
 If IsNumeric(myVal) Then
  myVal2 = CDbl(myVal) '直接入れるわけにはいかないし、Val関数を使うと丸められてしまう。
  MsgBox myVal2
 Else
  MsgBox "Not Numeric: " & myVal
 End If
End Sub

'//
'なお、Macro3,4 の Dim mystr As String は myVal As Variant にしました。
'String型なのに、他のものを入れても同じことですから。

こんにちは。

これは初歩的なことではあっても、最初はなかなか手こずります。こういうことは、教えもらったほうが早いようです。

#2さんのおっしゃる通り、IsNumberは、ワークシート関数ですから、VBA上での使い方はお分かりになるとは思いますが、しかし、私は、VBAでは、IsNumber は使いません。

ただし、Cells のText プロパティでも同じ反応ですが、String型のデフォルト値は、""(長さ0の文字列)です。基本的には、String型で値を取ることはしません。それに、ふつうは、Cellsから直接取り出すことは避け...続きを読む


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

人気Q&Aランキング