こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

COCATENATE という関数について

Excelで A1から行方向へ1から6を入力します
これをB列、 C列にコピーします
これらについて列ごとに平均を求めます
A7=3.5, B7=3.5 ,C7=3.5 が表示されます
B7 についてはユーザー定義で”0”を設定します 
C7については小数点以下なしに設定します するとB7は4、C7も4となります
そこで 別のセルに CONCATENATE 関数を入れると すべて3.5と少数表示になってしまいます、なぜでしょうか? 整数値表示ができません 4 の表示が出ないのです、桁数が多くい数値に対して使えないようなので気になります。
基本(標準)でのデーターが呼び出されてしまいます
よろしくお願いいたします。

投稿日時 - 2018-03-13 19:23:06

QNo.9477614

困ってます

質問者が選んだベストアンサー

いろいろなExcelの性質があり、それがあなたを混乱させているようです。

>C7については小数点以下なしに設定します するとB7は4、C7も4となります

この書式設定で、『表示上は』整数になります。
しかし書式というのは、見た目だけを成型するものなのです。
書式でいくら表示を変えようとも、B7,C7セル自体には、3.5という値が入っており、これが変わったわけではありません。

>別のセルに CONCATENATE 関数を入れると すべて3.5と少数表示になってしまいます、なぜでしょうか?

CONCATENATE 関数は、セルの値を文字列として結合する関数になります。
それが数値だった場合、書式のない状態での表示形態を文字列にします。

そうすると、B7,C7には(見た目がどうであろうと)「3.5」という数値が入っていますから、"3.5"という文字列になり、結合されます。

----

セルの値を本当に整数にしたければ、それは ROUND関数(四捨五入) を使って、計算した値が 4 そのものになるようにすべきなのです。
C7に入れた式全体を、さらにROUND関数で囲ってみてください。
C7=AVERAGE(C1:C6)

C7=ROUND(AVERAGE(C1:C6),0)

書式なしに値が4になれば、CONCATENATE によって結合した時も 4 という数が表示されます。

投稿日時 - 2018-03-14 10:41:35

ANo.4

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.3

「COCATENATE という関数」(正しくはCONCATENATE という関数)を持ち出す前に、(掲示例の場合にでも)「どういう結果になってほしい」のか、しっかり質問に書くべきでしょう。初心者が思いついた方法を前提にして、うまく行かないという質問をするのは稚拙だと思う。
データ例があって、そのデータを用いて「どういう結果になってほしい」が前提にあって、識者の数通りの回答がでるだろうから、それを勉強する謙虚さが欲しい。自分の思い付きを通すな。
それにCONCATENATEという難しい名前の関数を使わずとも、「&」で結合すれば、代用でできるのでは。LOTUS123との互換のためにエクセルに取り入れた関数と思う。

投稿日時 - 2018-03-13 21:42:18

お礼

ありがとうございます、参考にします。

投稿日時 - 2018-03-14 11:44:51

ANo.2

>そこで 別のセルに CONCATENATE 関数を入れると すべて3.5と少数表示になってしまいます、なぜでしょうか?
表示形式で小数を含む値(3.5など)を整数で表示させると四捨五入した値で表示されますが実際の値は四捨五入する前の値です。
CONCATENATE関数で数値を連結すると文字列になりますが対象の数値は表示形式とは関係なく実際の四捨五入しない値を文字列にしていますので提示のA7、B7、C7の値は3.5が正しい値です。

>整数値表示ができません 4 の表示が出ないのです、桁数が多くい数値に対して使えないようなので気になります。
7行目の計算結果(平均値)の小数を丸めたいときはAVERAGE関数の外側にROUND関数を被せると良いでしょう。
A7=ROUND(AVERAGE(A1:A6),0)

投稿日時 - 2018-03-13 20:32:59

ANo.1

此の関数は、文字列結合関数で、
返される値は、文字列です。

文字なので、
数値の、書式には
関係なくなります、

数値の、書式に
指定した、内容に
関わらなくなります。

投稿日時 - 2018-03-13 19:33:14