[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『おなじ列に、多様な数値を表示』(やま)
下記 A列のような表示をしたいのですが。(1行づつ , . を手入力したものです)
小数点以下が、まちまち。0.123 とか 123.56789 整数のコンマ , も 1234,7.5023 など 11桁以内です。 ユーザー定義、などで上手く表示できるでしょうか? よろしくご教示ください。
A B C D 1 2009/11/1 Excel 質問用 2 12,345,678,901 12345678901 12,345,678,901 12345678901 3 123,456.89 123456.89 123,457 123456.89 4 0.123456 0.123456 0 0.123456 5 6 A列が、希望する表示 B列が入力状態 → 桁区切りスタイルで , を選択 7 8 C列のようになる 書式=数値 9 10 D列のようになる 書式=文字列 Excel2007 WindowsXP
過去ログです。 [[20070905065651]]『小数点と桁区切り』(初心者:ひろ)
上記中でも書いてありますが ・入力するセルと、表示するセルを分けて、関数を使いその様な表示を作る ・マクロを使い、入力されたデータを判断しそれぞれ書式を設定する 等に成ると思います。
例えば、数式なら =IF(B2="","",TEXT(INT(B2),"#,##0")&MID(B2,FIND(".",B2&"."),11)) ≪注≫データは文字列になります。
マクロがご希望の場合は、他の方のコメントをお待ち下さい。
(HANA)
(HANA)さん: ありがとうございます。無事できました。種々の関数を駆使していくのですね。 今頃気が付きましたが、例えば C4に対して計算式を入れれば、結果は正しく返されている。 C4の表示は[0]でも、0.123456と認識されている。 (やま)
表示されているデータ(人が見て、そうであると思うデータ)と 実際にエクセルが認識しているデータでは、違う事が良くあると思います。
例えば、A1セルに =1/3 と言う式を入れて計算をさせると 0.333333・・・・ と続きますが A1セルの表示形式を小数点以下2位までに設定し、セルに[0.33]と表示させます。 A2セルに =A1*3 とすると「1」に成ります。 A3セルに =0.33*3 とすると「0.99」にしかなりません。
つまり、A1セルには[0.33]が入ってるように見えるけど 実際は「0.333333・・・・」が入っている事になります。
C4セルに「0.123456」と入っているなら 例え表示が[0]だったとしても 矢張り、入っている値は「0.123456」です。
これは 「セルに表示されている値を電卓で足し算した結果と SUMで合計した結果が異なる」 「2009/11/2 の 年部分が取り出したく =LEFT(A1,4)とするのに 変な値になって、2009が得られない」 等の状況の原因に成る場合も有りますので 目に見える物に惑わされないように 注意をして於かれるのが良いと思います。
(HANA)
(HANA)さん: ご丁寧に ありがとうございました。所で 前の質問にもお答えを頂きましたが 計算した数値を、「回答表」に入力させる件。その延長戦?と ここの質問とで 再度 お願いします。 下記表で、上段の番号 11と12の 入力結果です。 下段の、文字列表示のように、「入力」しても、上段の用に、数値を返してしまう。 このような数値は、20問題中に数問なんですが、何か良い方法が有りますでしょうか? 「判定」は ◎に評価していますが、生徒が入力した数値と違う、となり困っています。
F G H I N O P 1 Excel 質問用 1 回 2009/11/3 2 解答 入力用 こちらは、非表示にしておきます 3 ここには、回数を選択して、計算した数値を 正答の一覧4 表です 5 入力する欄です。 回数→ 1 2 6 番号 入力欄 判定 番号↓ 7 11 123456789 ◎ 11 123456789 22226077350 8 12 225908732 ◎ 12 225908732 0.041 9 13 0.036 ◎ 13 0.036 44533663584 10 14 14 5593154315 31742497.78 11 15 15 12 13 書式=文字列で表示しています 14 11 123456789.012 15 12 225908732.02 16 13 0.036 17 14 5593154315
済みませんが、どう言った事か良く分かりません。
G7セルに「123456789.012」と表示させたいなら 回答入力欄も、文字列にしておけば良いのでは・・・? O7セルの値と確認をするなら、こちらも 文字列にしておく必要が有ると思いますが。
ただ >「判定」は ◎に評価していますが というのは、 「.012」があっても無くても 正解にする と言う事ですか? それとも・・・・・・?
そもそも G7セルは「123456789.012」と入力して「123456789」と表示されているのですよね? H7セルにはどの様な式を入れているのでしょう? O7セルにはどの様なデータが入っているのでしょう? この辺りも含め、もう少し詳しく教えて下さい。
(HANA)
(HANA)さん: 引き続きありがとうございます。 初めの件は、ご指摘のように、入力セル・呼び出すセル双方を「文字列」にして OKですね。 123456789.012 これでなければ、判定は×です。従ってご教示の「文字列」で表示可能となりました 堅い頭の中に、「文字列は計算できない」が、ありました。桁数が14桁の合計などを出す時 SUM関数がきかない。呼び出した数値は文字列であれ、正しく返して判定の◎×をするのですね。 次の件 上記が解決していますが、念のため記述します。 H7セルには 先に、ご教示いただいたものです。 =IF(G7"","",IF(INDEX($O$7:$P$11,MATCH(F7,$N$7:$N$11,0),MATCH($H$1,$O$4:$P$4,0))=G7,"◎","×")) O7セルには、 123456789.012 です。 この列も「文字列」にすればいいのですね。 (やま)
済みません、ちょっと違う想像をしていたので。。。
>入力セル・呼び出すセル双方を「文字列」にして OKですね。 はい、その様にしてやってみて頂ければと思います。
>呼び出した数値は文字列であれ、正しく返して判定の◎×をするのですね。 同じイメージが上手く伝わるかどうか分かりませんが 少し書いてみます。
例えば、A1セルに(表示形式:標準)123 と入力すると この 123 は数値です。SUM(A1) とすると 123 と計算されます。 ~~ A2セルの表示形式を文字列にして 123 と入力すると この 113 は数字です。既に書いて居られる様に SUM(A2)では計算出来ません。 ~~ では、A3セルに=INDEX(A1:A2,1)で返される物は 数値でしょうか。数字でしょうか。 A4セルに=INDEX(A1:A2,2)もついでに計算させておいて B3,B4セルにでも =TYPE(A3) で戻り値を確認してみて下さい。 戻り値が 1 の場合は数値 戻り値が 2 の場合はテキスト(数字) です。
同じ「123」でも =数値=数字 では、FALSE に成ります。 =数値=数値 や、=数字=数字 なら、TRUE です。
ひとつ 解答が割と簡単に確認出来る(見ることが出来る)状態に在るのではないか と言う点が気になります。 どうせ、完全に見えない様にする のは難しいと思うので 「テストは本人の為にある。後は各人の判断に任せる」 で 良いのかもしれませんが。
(HANA)
(HANA)さん: なるほど Excelは奥が深いですね! 数値と数字 戻り値の利用 勉強になりました。
ご心配を頂いている点ですが、画面に表示してある箇所は、「回答入力と回数しか」 入力出来ないように、他のセルには、ロックといいますかシート保護して、パスワー ドも必要な状態にしています。 何度も 素早いご教示を頂きまして感謝しています。 有り難うございました。 (やま)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.