![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?08b1c8b)
No.6ベストアンサー
- 回答日時:
エラーチェックが要らなければ
1行で出来ますよ
セルA1に 2
セルA2に 3
セルA3に 桁数
セルA4に 結果
’-----------------------------------------------------------
Sub test_2()
Range("a4").Value = "(" & Format(Range("a1"), "0." & String(Range("a3"), "0")) & ")(" & Format(Range("a2"), "0." & String(Range("a3"), "0")) & ")"
End Sub
’-----------------------------------------------------------
>当方エクセルVBAでしたら多少は触れます。
との事なので、参考にどうぞ
回答有難う御座います。
Format関数の応用でこんな使い方が出来るんですね、
しかも超シンプルでびっくりデス。
でも、この場合は小数点以下が必ずある場合のみみたいです。
A3に0入れるとコンマが残っちゃいます。
使用時には、現状整数のみはないので、これもありですね。
No.5
- 回答日時:
No.3です。
指定小数点以下って切り捨てちゃっていいんですか?^^;
とりあえずマクロを作ってみました。
思ったほどスマートになりませんでした・・・。
唯一メリットといえば小数点以下の桁数が増えても問題ないくらいですか・・・。
なので質問者様の要件なら今回の関数対応で十分と思われます。
セルA1:小数点付き数値
セルA2:小数点付き数値
セルA3:「(セルA1整形値)(セルA2整形値)」表示
セルA4:小数点以下桁数
【セルA1,A2,A4の値変更契機 必ず数値しか入力されない前提】
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Dim digit, a1val, a2val
digit = ""
If Not Intersect(Range("A1,A2,A4"), Target) Is Nothing Then
For i = 1 To Range("A4").Value
digit = digit + "0"
Next
If digit = "" Then
digit = "0"
Else
digit = "0." + digit
End If
With WorksheetFunction
a1val = .Text(.Round(Range("A1").Value, Range("A4").Value), digit)
a2val = .Text(.Round(Range("A2").Value, Range("A4").Value), digit)
End With
Range("A3").Value = "(" + CStr(a1val) + ")(" + CStr(a2val) + ")"
End If
Application.EnableEvents = True
End Sub
【数値チェックを入れたパターン】
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Dim digit
Dim a1val, a2val
Dim RE
digit = ""
If Not Intersect(Range("A1,A2,A4"), Target) Is Nothing Then
Set RE = CreateObject("VBScript.RegExp")
RE.Pattern = "^\d+\.?\d*$"
If RE.test(Target.Value) Then
For i = 1 To Range("A4").Value
digit = digit + "0"
Next
If digit = "" Then
digit = "0"
Else
digit = "0." + digit
End If
With WorksheetFunction
a1val = .Text(.Round(Range("A1").Value, Range("A4").Value), digit)
a2val = .Text(.Round(Range("A2").Value, Range("A4").Value), digit)
End With
Range("A3").Value = "(" + CStr(a1val) + ")(" + CStr(a2val) + ")"
Else
Target.Select
res = MsgBox("数値を入力して下さい", vbOKOnly + vbExclamation, "入力エラー")
End If
End If
Application.EnableEvents = True
End Sub
回答ありがとうございます。
>唯一メリットといえば小数点以下の桁数が増えても問題ないくらいですか・・・。
これは関数の場合はIF~が増えちゃうってことですよね?
今回の場合は最大3桁までなので関数でいけそうですが、
関数とマクロをうまく使い分けるように心がけていますので、
このご回答は今後のコード作成に非常に参考になりました。
No.4
- 回答日時:
>小数点以下の.00が消えてしまいますが、表示させる方法はありますか?
="("&TEXT(A1,"0.00")&")("&TEXT(A2,"0.00")&")"
>小数3位までは任意に出せる
右クリック-セルの書式設定-表示形式-数値に設定し、桁数を3に設定するか
ユーザー定義で0.000にするでは如何
回答ありがとうございます。
ユーザー定義ですると常に桁数が決まってしまうので都合悪いんです。
有効桁数の関係で1,10,100の位の数字が変動するので
それにあわせて桁数も変えないといけないので。
No.3
- 回答日時:
関数を使うとこうなります。
="(" & TEXT(A1,"0.00") & ")(" & TEXT(A2,"0.00") & ")"
さらに小数点以下を任意にするには
=TEXT(ROUND(A1,A2),IF(A2=1,"0.0",IF(A2=2,"0.00",IF(A2=3,"0.000","0"))))
整数部に2桁がありえる場合
=TEXT(ROUND(A1,A2),IF(A2=1,"#0.0",IF(A2=2,"#0.00",IF(A2=3,"#0.000","#0"))))
関数だとどうしてもスマートには行きませんが・・・。
そして結局文字列ですが・・・。
この回答への補足
回答ありがとうございます。
TEXT関数の右側の”0.0”や”0.00”をどこかのセルに参照してできました。
A4に桁数指定
A5に=IF(A4=1,"0.0",IF(A4=2,"0.00",IF(A4=3,"0.000","0")))
としてそれを
A3に="("&TEXT(A1,A4)&") ("&TEXT(A2,A4)&")"
として出来ました。
遠回りでTEXTになっちゃいましたが見た目は目的どおりになりました。
VBAで処理を行った場合はもっとスマートに出来ますか?
当方エクセルVBAでしたら多少は触れます。
No.2
- 回答日時:
="("&TEXT(A1,"0.00")&")("&TEXT(A1,"0.00")&")"
では如何?
セル A1 に 1.001
セル A2 に 3.00
の場合、式 =ROUND(A1,A2) は 1.001 と「小数3位まで」表示されませんか?貴方の場合、どのように表示されますか?
回答ありがとうございます。
小数点以下の桁数を任意に表示させたいのです。
例えばA4セルに桁数を入力するセルを作って(2とか3を任意に入力)、
それに対応する小数点以下の桁数を表示
{A3に="("&A1&")("&A2&")"と入れた場合のA1とA2の桁数}
させたいのです。
TEXTのばあい固定されてしまうのでちょっと使いにくいので
ほかに方法がないかと思いました。
No.1
- 回答日時:
2.00と3.00はセル上のデータでは 2と3です
おそらく書式設定で0.00としているのでそのように表示されているだけ。
="("&A1&")("&A2&")"を実施すると文字列として表示されますので、数値の書式設定0.00は反映されません。
表示させるにはA1 A2セルを文字列で2.00 3.00と入力するしかない、もしくは.00を追加した文字列に変化させるか。
="("&A1&".00)("&A2&".00)"
やはり文字列としてしか出来ないのですね。
有効桁数の関係で0であっても表示させたかったのですが。
ありがとうございました。おかげですっきりしました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Excel(エクセル) エクセルを活用した受注表作成の中で関数・数式を教えてください。 3 2022/07/23 08:14
- Excel(エクセル) エクセルの数式について教えてください。 2 2023/02/18 11:30
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Excel(エクセル) エクセルの数式で教えてください。 2 2022/10/25 17:10
- Visual Basic(VBA) if関数とifs関数は組み合わせることはできますか。 セルA1が「A」のとき「向日葵」と表示。 セル 4 2023/02/02 20:48
- Excel(エクセル) エクセルの関数式を教えてください。 2 2022/11/29 21:09
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/02/10 17:07
- Excel(エクセル) エクセルの数式で教えてください。 5 2023/02/10 15:11
- Excel(エクセル) エクセル関数の質問 5 2022/04/20 09:46
このQ&Aを見た人はこんなQ&Aも見ています
-
今年はじめたいことは?
今年はこれをはじめたい!ということを教えてください!
-
スマホに会話を聞かれているな!?と思ったことありますか?
スマートフォンで検索はしてないのに、友達と話していた製品の広告が直後に出てきたりすることってありませんか? こんな感じでスマホに会話を聞かれているかも!?と思ったエピソードってありますか?
-
モテ期を経験した方いらっしゃいますか?
一生に一度はモテ期があるといいますが、みなさんどうですか? いまがそう! という方も、「思い返せばこの頃だったなぁ」という方も、よかったら教えて下さい。
-
AIツールの活用方法を教えて
みなさんは普段どのような場面でAIツール(ChatGPTなど)を活用していますか?
-
一番好きなみそ汁の具材は?
みんなで大好きなみそ汁の具材について語り合おうよっ!
-
エクセルで、異なるシートのセルを参照すると、なぜか小数点以下が示される
Excel(エクセル)
-
小数点の数値をそのままセルに表示させたい
Excel(エクセル)
-
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
-
4
小数点以下を繰り上げたものをそのままコピーするには
Excel(エクセル)
-
5
excelで小数点0を表示させる方法
会計ソフト・業務用ソフト
-
6
エクセルで四捨五入した数値に小数点以下第1位の0を表示させ、文字と合わせて表示させる方法
Excel(エクセル)
-
7
Excelで、小数点以下が0になる場合は0は非表示、数値がある場合はそ
Excel(エクセル)
-
8
EXCEL 小数点以下のある数字を別ファイルにリンクさせた場合に小数点以下を非表示に出来ない
Excel(エクセル)
-
9
Excelで、小数点以下を自動省略なしに表示するには?
Excel(エクセル)
-
10
Excelで、セル内改行もそっくりそのまま参照させたい
Excel(エクセル)
-
11
エクセルの対数グラフで細かい目盛を入れる方法
その他(ソフトウェア)
-
12
ExcelVBAでテキストボックスの表示形式を小数点第二位まで表示する方法
Visual Basic(VBA)
-
13
Excelの「0」だけ非表示、小数点の0.~は表示したいのですが、どうすればいいのでしょう。
Excel(エクセル)
-
14
エクセルの複数のセルを一括で絶対参照にする方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで指定したセルのどれ...
-
貼り付けで複数セルに貼り付けたい
-
EXCEL VBA セルに既に入...
-
(Excel)数字記入セルの数値の後...
-
Excel 例A(1+9) のように番地の...
-
エクセルの一つのセルに複数の...
-
excelの特定のセルの隣のセル指...
-
Excelでのコメント表示位置
-
Excel2003 の『コメント』の編...
-
【Excel】 セルの色での判断は...
-
対象セル内(複数)が埋まった...
-
枠に収まらない文字を非表示に...
-
Excelで数式内の文字色を一部だ...
-
エクセル 足して割る
-
Excelで、「特定のセル」に入力...
-
数式を残したまま、別のセルに...
-
エクセル セルの中に縦線が入っ...
-
エクセルvba (ByVal Targ...
-
エクセルのセルの枠を超えて文...
-
セルをクリック⇒そのセルに入力...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
貼り付けで複数セルに貼り付けたい
-
エクセルで指定したセルのどれ...
-
excelの特定のセルの隣のセル指...
-
(Excel)数字記入セルの数値の後...
-
セルをクリック⇒そのセルに入力...
-
枠に収まらない文字を非表示に...
-
【エクセル】IF関数 Aまたは...
-
【Excel】 セルの色での判断は...
-
Excelでのコメント表示位置
-
エクセルの一つのセルに複数の...
-
エクセルのセルの枠を超えて文...
-
Excelで数式内の文字色を一部だ...
-
EXCEL VBA セルに既に入...
-
エクセルの書式設定の表示形式...
-
Excel 例A(1+9) のように番地の...
-
数式を残したまま、別のセルに...
-
エクセル オートフィルタで絞...
-
Excelで、「特定のセル」に入力...
-
ハイパーリンクの参照セルのズ...
-
対象セル内(複数)が埋まった...
おすすめ情報