出産前後の痔にはご注意!

下記の質問ですごく良い計算式が探せました。

*エクセルで小数点のみを抽出する場合 *
http://oshiete1.goo.ne.jp/kotaeru.php3?q=791157
ところが、小数点がないと、「#VALUE!」エラーが出てしまい、美しくありません。
できれば「小数点がある場合は×を、ない(整数の)場合は○を」と
いう計算式にしたいのですが、何か良い方法はありますでしょうか??

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

A 回答 (2件)

参照質問の回答No.1に出てくる式のことですよね?


であれば、

=INT(RIGHT(A1,LEN(A1)-FIND(".",A1)))

=IF(INT(A1)=A1,0,INT(RIGHT(A1,LEN(A1)-FIND(".",A1))))

と変えてみてください。
それとも「○」や「×」が表示された方が良いのでしょうか?もしそうならば、
=IF(INT(A1)=A1,"○","×")
でよいかな。

うまくできますように。
    • good
    • 1
この回答へのお礼

そうです!○や×が表示されるのがベストです!
=IF(INT(A1)=A1,"○","×") でできました!
本当にありがとうございました!!

お礼日時:2005/12/26 17:36

こんにちは。



単に、小数点以下の数字を出したら、正しく出てきませんし、また、MODは、浮動小数点丸め誤差があるので、FIXEDで丸めないとただしく出てきませんね。

今回の場合は、有効小数点桁数2桁ですから、FIXED の引数に、2を入れ、100 を掛けます。

=FIXED(MOD(A1,1),2)*100

なお、元のご質問の#2の方は、丸め誤差をそのまま扱っているので、該当する数字がヒットするわけですね。
    • good
    • 0
この回答へのお礼

お忙しい中、ありがとうございました。
#1の方の「○や×が表示」される方法が知りたかったのです。#2さんのも今後の糧とさせて頂きます。

お礼日時:2005/12/26 17:37

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

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

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

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

Qエクセルで小数点のみを抽出する場合

エクセル2003で、ある数値(例えば20.3と30.43と10.45)から小数点のみで考えて小数点の大きいものに+1したいのですが、どのようにすればいいのか分かりません。方法があるならば教えてください。「そんな方法はない」ならば、ないことを教えてください。(なるべく簡単な動作で行うように関数を使って考えていました。一つの関数で行えるようなやり方を知りたいです)

Aベストアンサー

こんにちは。maruru01です。

まず、関数に対する認識で誤解されているようなので、説明します。
関数は、その関数が入力されている自分自身のセルに何らかの値(関数によって計算された値)を表示することしか出来ません。
自分自身以外のセルへ値を入力することも、自分自身以外のセルの値を変更することも出来ません。
どこかのセルの値を+1するという動作をさせたいのなら、VBAを使用するしかありあません。

ということで、小数点以下がもっとも大きい値に+1した値を、どこかのセルに表示するとします。
元のデータがA1:A3にあるとして、結果を表示するセルに、

=INDEX(A1:A3,MATCH(MAX(MOD(A1:A3,1)),MOD(A1:A3,1),0))+1

と入力して、[Ctrl]+[Shift]+[Enter]で確定します。
(数式の両端に「{}」が付いて、配列数式になります。)
質問の例だと、「11.45」が表示されます。

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

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

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

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

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

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

宜しくお願いします。

Aベストアンサー

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

でどうでしょうか?

Q関数で小数点以下を抽出したい

小数点以下の数字のあるデータで、小数点以下の物だけを抽出する関数を教えてください。

Aベストアンサー

>小数点以下の数字が入っている単価データのみ抽出させたいときになにか関数で、簡単に抽出する方法はナイでしょうか?

なら、これですね

=IF(A1-INT(A1)<>0,A1,"")

Q【エクセル】常に整数が表示されるセルの書式設定はありますか?

こんにちは、みなさん!!

表で計算された数字が整数ではなく、少数になる事があります。これを整数に変更するには、桁上げ機能を使用します。

しかし、計算した後から整数に直すのではなく、計算された結果が少数でも最初から整数になるようにセルに設定する事はできますか?

Q.計算された結果が、少数でも整数として表示されるようにするやり 方はありますか?

ご存知の方いらっしゃいましたらよろしくお願いします。

Aベストアンサー

>書式設定はありますか
書式の質問ですね
書式ーセルー表示形式ーユーザー定義で

を設定すると、下記になりますが、これでよろしいですか。
12.212
11
5.255
5.56
1.451
-0.5-1

Q複数の同じフォーマットのファイルを新しいブックで一つのシートにまとめる方法

仕事で、各部署から送られてきた、同じフォーマットのファイル(シート1にのみデータ有)が50個近くあります。
それを新しいブックで一つのシートにまとめなくてはいけません。
地道にコピペするのは時間がかかるのでマクロで処理を行いたいと思います。
マクロでの処理方法ご存知の方、処理方法の載っているサイトをご存知の方、もしくはマクロより簡単な方法がありましたら教えてください。

あと、逆に一つのシートをいくつかのファイルに振り分けていく方法もご存知でしたら教えて下さい。
よろしくお願いします。

Aベストアンサー

すみません。質問を勘違いしていました。
>新しいブックで一つのシートにまとめなくてはいけません
でしたね。
Sub Sample1()
Dim buf As String, i As Long
Dim j
buf = Dir(Sheets("Sheet1").Range("A1").Value & "\*.xls")
Do While buf <> ""
Workbooks.Open Worksheets("Sheet1").Range("A1").Value & "\" & buf
Sheets("Sheet1").Range("A1:J1000").Copy
ThisWorkbook.Activate
Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
Workbooks(buf).Activate
Application.CutCopyMode = False
Workbooks(buf).Close SaveChanges:=False
buf = Dir()
Loop
End Sub
で試してみてください。使い方などは
http://oshiete1.goo.ne.jp/qa4225063.html
を参照してみてください。同じ質問があったので気がつきました。

すみません。質問を勘違いしていました。
>新しいブックで一つのシートにまとめなくてはいけません
でしたね。
Sub Sample1()
Dim buf As String, i As Long
Dim j
buf = Dir(Sheets("Sheet1").Range("A1").Value & "\*.xls")
Do While buf <> ""
Workbooks.Open Worksheets("Sheet1").Range("A1").Value & "\" & buf
Sheets("Sheet1").Range("A1:J1000").Copy
ThisWorkbook.Activate
Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
Workbooks(buf).Activate
Application.CutCop...続きを読む

QSUMIF関数で、「ブランク以外を合計」を指定したい

SUMIF(範囲,検索条件,[合計範囲])
の、検索条件部分に、
「セル内に数字、文字をとわず、とにかく何か入力されていたら合計する」
といった意味合いの条件を指定したいのですが、その方法がわかりません。

画像で説明させていただくと、
A2のセルにSUMIF関数を用いて、
文字が入力されているc,d,e列の数値を合計し、
90という結果が欲しい、ということです。

どなたかご教授をお願いいたしますm(__)m

Aベストアンサー

こんばんは。

なんか皆さん難しく考えすぎのような・・・
SUMIF関数でできますよ。検索条件を空白以外とすればいいだけです。
=SUMIF(B2:F2,"<>",B1:F1) でできます。

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償却超過額(不足額)とは?

いつもお世話になっています。
減価償却の勉強をしようと本を読んでいたのですが、よくわからないところが出て来ました。教えていただければ嬉しいです。

減価償却を扱ったことがなく、実際の計算に挑戦したことがないのでわからないのかもしれませんが、償却超過額がどうして発生するのかわかりません。
本を読むと「償却限度額=取得価額×償却率(償却方法による)」と書いてあるようにとれました。わたしの理解では「取得価額(2年目以降は帳簿価額)×償却率=償却する金額」であり、この計算をしている以上、超過額というのは発生しようがないのでは?と思ったりするのですが…。
不足額の方がなんとなく発生しそうかなあ、と思ったのですが(根拠を説明できないところに理解の不足が現れている)「理論的には不足額は発生しないと考えられている」という一文にぶつかり、またわからなくなりました。

それから「損金経理」のことですが、これは「減価償却費として費用計上する」ということですか?具体的には決算時に

減価償却費 / (例えば備品)

の伝票を起こすこと?……同じことなら言い換えたりしないで欲しいなー……。それとも「損金経理」にはもっと深い意味があるのでしょうか。

少々混乱した内容で申し訳ありません。この混乱は何か大きな勘違いをしていることに起因していると思うのですが……(^_^;)。易しく教えていただければ嬉しいです。どうぞよろしくお願いします。

いつもお世話になっています。
減価償却の勉強をしようと本を読んでいたのですが、よくわからないところが出て来ました。教えていただければ嬉しいです。

減価償却を扱ったことがなく、実際の計算に挑戦したことがないのでわからないのかもしれませんが、償却超過額がどうして発生するのかわかりません。
本を読むと「償却限度額=取得価額×償却率(償却方法による)」と書いてあるようにとれました。わたしの理解では「取得価額(2年目以降は帳簿価額)×償却率=償却する金額」であり、この計算をしている...続きを読む

Aベストアンサー

こんにちは。
不足額・超過額が発生する理由。
税法上の計算と会社規定の計算の差異です。
たとえば税法上の規定で建物の耐用年数が47年だったとします。けれど会社の方針で20年で償却計算したとします。そうすると税法上の耐用年数より短い年数で計算することになるのでその部分が超過額です。
耐用年数を逆に多くして計算すると不足額になります。
また、耐用年数が一緒でも100%損金経理しない(50%だったり)場合には不足になります。
損金経理の方ですがおっしゃる通りです。ちなみに減価償却費について言うと損金経理をしないと減価償却費は税法上の損金となりません。(超過額がある場合はその分は経費としてみなされません)

Q【Access】クエリで抽出したデータをCSV形式でエクスポートできますか?

タイトルの通りなのですが、
クエリーで抽出したデータをcsv形式でエクスポートするには
どのようにすればいいのでしょうか?
Accessに慣れていなくて困っています、どなたか教えてください(>_<)

その後はいろいろ加工したいので、
最終的にはExcel形式で保存しなおそうと思っています。
初めからExcel形式でエクスポートすると、とても重くなるし、
いちいち「再計算」がかかってしまうので作業がやりづらいんです。。。

どなたかお力を貸してください。
よろしくお願いします!

Aベストアンサー

クエリをクリックし選択状態にしてメニューのファイルのエクスポートもしくはクエリを右クリックしエクスポートを選択すると保存する場所の選択するダイアログが出ますのでファイルの種類をテキストファイルを指定し保存するホルダとファイル名を指定します。
指定するとテキストエクスポートのウィザードが表示されますので順次進めていきエクスポート先のファイル名でパスとファイル名が表示されますのでcsvで保存するなら最後の.txtを.csvに変更しOKをクリックすればcsvで保存でします。

Q【Excel】3軸以上のグラフを作成できますか?

Excelでグラフを作成する場合
Y軸が2本で平面のグラフまでは
標準で用意されていると思うのですが、

例えば下のようなX軸が共通でY軸が3本以上必要となる(吸塵率「%」・粉塵量「個」・騒音レベル「dB」)
表をグラフ化する場合
どのようにすればいいのでしょうか?

銘柄   吸塵率% 排気中粒子 駆動音平均
手軽    16.3%      0個    54dB
排気0   13.4%    4000個    60dB
JET    35.3%    1000個    62dB
かるワザ 67.5%      0個    63dB

(表記中の固有名称その他は現実のそれとは何ら関係なく・またデータも説明用に一時的に作成されたものとする)

Aベストアンサー

 散布図でダミーのY軸を作成作れば、3軸でも4軸でも可能です。ただ、その軸をどのように配置するかという問題があります。
 また、3軸なら「三角グラフ」、4軸なら「Jチャート」というグラフもあります。2つとも散布図を工夫すれば、Excelで作成可能です。

 しかし、今回の表の場合は、作成元のデータを加工して、スネークプロット(縦の折れ線グラフ)またはレーダーチャートを作成したらいかがでしょうか。

 データの加工は、偏差値・達成率・最大値の対する比率などを使って基準を揃え、評価が高いほど値が高くなるように調整します。


人気Q&Aランキング