アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセル2007を使用してます。

A1セルに小数点以下第何位にするか数字が入ってます。

A2セルにVLOOKUPでsheet2からの数字を表示してます。
(=VLOOKUP(A3,sheet2!,A:AB,10,FALSE)

A1セル = 1
A2セル = 10
の場合は、A2セル = 10.0

A1セル = 2
A2セル = 10
の場合は、A2セル = 10.00

A1セル = 3
A2セル = 10
の場合は、A2セル = 10.000

となるようにできる数式があれば教えてください。

条件付き書式で小数点以下を表示するようにしていましたが、ちゃんと表示されるときと表示されないときがあり、ダブルクリックをするとちゃんと表示はされるのですが、共有にしているためたまにVLOOKUPの数式を壊してしまう人がいるので、数式で小数点以下も表示できれば変更したいと思ってます。

よろしくお願いします。

A 回答 (15件中1~10件)

>0の時は0.0や、0.00となるのですが



そうなるでしょうね。これが前から言っている「返り値は文字列ですよ」と注意した内容です。
表示形式では「数値」の0の場合に「---」と表示するように指定していますが、今入れている式は文字列で結果が出るのでそれが適用されないのです。
人様の作った数式なので、これ以上口出しするのもどうかと思いますしご本人も何だか説明したがっているようですから、生産者に後始末までお願いした方がいいのでは?
    • good
    • 0
この回答へのお礼

本当に何度も回答をいただき、助かりました。
ありがとうございます。

なるほど、「返り値は文字列ですよ」とご注意頂いた点が納得できました。
そういうことなんですね・・・。

色々と勉強になりました。
できそうな範囲内で教えていただいた式を活用させていただきたいと思います。
稚拙な質問に何度も時間を割いて回答をいただいて本当にありがとうございました。

お礼日時:2019/03/29 14:36

何より、


式の 構造を、
ご説明させて 頂いた方が、
良いかと 思いえす。


先ず、
TEXT構文ですが、

此は、
第二引数の 表示形式指定文字列に、
従い、

第一引数に 渡された値を、
表示します。


例としては、

第一引数が 5、
第二引数が "0.00"
なら 5.00

同様に、
第一引数が 5.243、
第二引数が "0.00"
なら 5.24

第一引数が "あ"、
第二引数が "0.00;-0.00;0.00"
なら ""

第一引数が "あ"、
第二引数が "0.00;-0.00;0.00;@"
なら "あ"

です、

此の辺りの 表示形式関連の、
挙動については お解りですか?


で ですね、
表示形式指定文字列と、
敢えて 申しましたが、

第二引数は、
表示形式を 指定するに、
十分な 文字列なら、

どの様な、
与えられ方、精製方を、
取られようが お構いなし、
なのです。


其処で、
REPT構文を 持ちい、
0を 連続させる、
回数を、

値で 指定できるようにし、

小数第2位なら、
0.00
と、
0を 二つ、
精製し、

同様に、
小数第5位なら、
REPT構文で
0を 5つ
精製させて、
"0."&"00000"
と させ、

結果として、
"0.0000"
を、
書式設定文字列として、

TEXT構文の 第2引数に、
渡している 構造です。


総ざらえて 振り返り、
言い直せば、

第1引数は、
何でも いいのです。


値を 示す、
シリアル値でも、
日時、時刻、度分秒、
等を 表す、
値でも、

又、
参照でも、式でも、
一切 構いません。


ご理解 頂けますか?
    • good
    • 0

>もし、こちらにも教えていただいた式が適用できるのであれば、式を教えていただけると助かります



すみませんが、困っていることが何なのかがよくわかりません。
    • good
    • 0
この回答へのお礼

回答をいただきありがとうございます。
言葉足らずで申し訳ありませんでした。

A1セル=小数点以下の桁数

B2セル=VLOOKUPでsheet2からの数字を表示し、表示が 0 の場合は、---と表示するようになっています。
B2セルには
=IFERROR(VLOOKUP(A3,sheet2!,A:AB,10,),"") 
セルの書式設定 → ユーザー定義 → [=0]"---"
という式が入ってます。



A1セル = 1
B2セル = 10
の場合は、B2セル = 10.0

A1セル = 1
B2セル = 0
の場合は、B2セル = ---

A1セル = 2
B2セル = 10
の場合は、B2セル = 10.00

A1セル = 2
B2セル = 0
の場合は、B2セル = ---

となるようにしたいです。
教えていただいた、=TEXT(VLOOKUP(A3,sheet2!A:AB,10,FALSE),"0."&rept(0,A1))こちらの式をそのまま使用させていただくと、0の時は0.0や、0.00となるのですが、0の時に --- と表示するような式にしたい場合は、どの部分をどう変更したらできますか?

教えていただけると助かります。
よろしくお願いします。

お礼日時:2019/03/29 14:16

A2セルに A2を、


参照させるよう 指定すると、
文字通り 循環していますよね?
是非 此の点は、
ご理解 くださいね。


もし、
変えて お使いの場合は、
提示させて 頂いた、
式中 記載の、
A2を、
式、又は値、又は参照に、
ご変更ください。
    • good
    • 0

>=TEXT(VLOOKUP(A3,sheet2!,A:AB,10,FALSE,"0,"&rept(0,A1))



うん…まぁ最後まで書かなかった私にも落ち度はありますね。

=TEXT(VLOOKUP(A3,sheet2!A:AB,10,FALSE),"0."&rept(0,A1))

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

本当に何度も回答をいただき、ありがとうございます。

教えていただいた数式で表示することができました。
本当にありがとうございます。
私の勉強不足で、式が間違ってしまいました。ご教示いただきありがとうございます。

続けて別の問題が出てきたので、このまま教えていただけると助かるのですが、
B2セルにもA2セルと同様のVLOOKUPが入っているのですが、B2セル = 0 の場合があり、表示が 0 の場合は --- と表示するようになっています。

B2セル = 0 → ---
=IFERROR(VLOOKUP(A3,sheet2!,A:AB,10,),"") 
セルの書式設定 → ユーザー定義 → [=0]"---"
という式が入ってます。

もし、こちらにも教えていただいた式が適用できるのであれば、式を教えていただけると助かります。
厚かましいお願いですが、よろしくお願いします。

お礼日時:2019/03/29 13:56

申される 通りに、


なっているとの 認識です。
    • good
    • 0
この回答へのお礼

何度も回答をいただきありがとうございます。

A2セルに表示したいので、A2セルに教えていただいた、=TEXT(A2,"0."&rept(0,A1))こちらの式を入れてみました。

循環参照に関する警告というものが表示され、OKすると、A2 = 0 となりました。

元々A2セルに表示していた=VLOOKUP(A3,sheet2!,A:AB,10,FALSE の結果も表示されなくなってしまいました。
どこか、間違っていますか?
教えていただけると助かります。

よろしくお願いします。

お礼日時:2019/03/29 13:35

=TEXT(A2,



となっているA2の部分に今のVLOOKUP関数を入れるとできると思います。
ただ、今VLOOKUPの式を入れていて表示の不具合などがある訳ですからTEXT関数にしたからそれが解決されるのか?というのはわかりませんが。
それと再掲ですが返り値は「文字列」です。数値ではありませんのでご注意を。
    • good
    • 0
この回答へのお礼

何度も回答をいただき、ありがとうございます。

式としては
=TEXT(VLOOKUP(A3,sheet2!,A:AB,10,FALSE,"0,"&rept(0,A1))
・・・という式になりますか?

こちらの式を入れてみたのですが、式自体にエラーが出てしまいました。
(この関数に対して、多すぎる引数が入力されています。というエラーです)
返り値は文字列とのことだったので、A2セルを右クリック→セルの書式設定→表示形式→文字列 にしてみたのですが、=TEXT・・・の数式がそのまま表示される状態となりました。

式のエラーがでていないとしても、こちらの数式ではできないということですよね・・・。

ありがとうございます。
勉強になりました。

お礼日時:2019/03/29 13:14

お尋に なられた、


ご不審点は 此の点ですか?
「エクセルでVLOOKUPの数式が入ってい」の回答画像8
    • good
    • 0
この回答へのお礼

またの回答、ありがとうございます。
本当に助かります。

すみません、言葉足らずでしたでしょうか。
TEXT関数は使用したことがなかったので、分からない部分が多く、不明瞭な質問で申し訳ありませんでした。

こちらに提示していただいたものですが
A1 = 2
A2 = 10.24375(sheet2から反映されている、とさせていただきます)
A3 = A1セル、A2セルの数値の結果、TEXT関数で小数点以下を認識・表示している
ということでよろしいでしょうか?

こちらのTEXT関数で
A1 = 2
A2 = 10.24375
の場合は
A2 = 10.24
となるようにしたいのですが、できますか?

A1 = 2
A2 = 10.24375 → 10.24

B1 = 2
B2 = 10.2 → 10.20

C1 = 2
C2 = 10 → 10.00

となるようにしたいです。
よろしくお願いします。

お礼日時:2019/03/29 12:51

№5さんの回答でもA1セルの値に合わせて小数点以下の表示は変えられますよ。


ただし、返り値は「文字列」です。

計算方法が自動で式を入れているのに空白表示になって、ダブルクリックで表示って何でしょうね。
ちなみに共有を外すとどうなりますか?
    • good
    • 0
この回答へのお礼

またの回答ありがとうございます。
本当に色々と助かります!

共有を外してみましたが・・・同じでした。
表示されず、ダブルクリックで正常に表示されます。

あと、申し訳ありません、
>№5さんの回答でもA1セルの値に合わせて小数点以下の表示は変えられますよ。
ただし、返り値は「文字列」です。
こちらのやり方を教えてもらえますか?

NO.5さん=NO.6さんのTEXT関数で回答頂いた分でよろしいでしょうか?

A2のセルに元々VLOOKUPの数式が入っているので、教えていただいたTEXT関数とどのように連結して数式化すればいいのか分からず・・・。
教えていただけると助かります。
こちらで解決できそうであれば試したいと思います。

よろしくお願いします。

お礼日時:2019/03/29 12:30

あぁ、失礼、


数式ですよね?

其れなら、
=TEXT(A2,"0."&rept(0,A1))
ですね。
「エクセルでVLOOKUPの数式が入ってい」の回答画像6
    • good
    • 0
この回答へのお礼

再度の回答ありがとうございます。
助かります。

数式を教えていただきありがとうございます。
ただ・・・教えていただいて申し訳ないのですが、A2のセルの値を10.00とか10.0という風にしたいのですが、こちらの数式だとA2セルの値の小数点以下を指示できない・・・ということですよね?

また、認識が違うようでしたら申し訳ありません。
よろしくお願いします。

お礼日時:2019/03/29 11:59

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

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