- ベストアンサー
CONCATENATE関数の表示書式の変更
「2」「6」「2.0」の三つのセルをCONCATENATEすると「262」となりますが、これを「262.0」とそのまま表示させることは可能でしょうか?
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (5)
- MarcoRossiItaly
- ベストアンサー率40% (454/1128)
>文字列の数とは、「262.0」は3個、「151.5」は5個といった検索条件に一致するセルの個数という意味です。 セルの個数を数えるのに小数点第 1 位までが必要という理由が、まだよく分かりません。 次式のどれかは、質問者さんのお役に立つのでしょうか? A2~A5 2 B2~B5 6 C2~C5 2 D5 . E5 0 F1 262 F2 =a2&b2&c2 F3 =0+(a3&b3&c3) F4 =a4&b4&c4&".0" F5 =a5&b5&c5&d5&e5 H5~H9 2 I5~I9 6 J5~J9 2 K9 . L9 0 M4 262 M5 =h5&i5&j5 M6 =h6&i6&j6 M7 =0+(h7&i7&j7) M8 =h8&i8&j8&".0" M9 =h9&i9&j9&k9&l9 N1 =countif(f:f,262) N2 =countif(f:f,"262") N3 =countif(f:f,"262.0") N4 =countif(f:f,h4&i4&j4) N5 =countif(f:f,h5&i5&j5&".0") N6 =countif(f:f,h6&i6&j6&k6&l6) N7 =countif(f:f,m7) N8 =countif(f:f,m8) N9 =countif(f:f,m9&".0") N10 =countif(f:f,m10) N11 =countif(f:f,m11) N12 =countif(f:f,m12) なおセルに記入されている「262」という数値を表示(見かけ)だけ「262.0」と見せることは、セルの書式設定により可能です。逆の言い方をすれば、セルに「262」と記入しても「262.0」と記入しても、Excel は同じ値に変換するので、両者は区別されません。書式によって見かけが変わるだけです。
- MarcoRossiItaly
- ベストアンサー率40% (454/1128)
>データ数が多いので、自動的に結合したいです。 その処理を行う数式は、No.4 にて回答済みです。「.0」という末尾も必要なのであれば、「&".0"」を追記してください。 >同じ文字列ばかりがあるわけではないのです。 >これは桁合わせのためです。ですから文字列の数を計算できる関数ならなんでも構いません。 ひょっとすると、質問者さんが「文字列の数」とおっしゃっているのは、「文字数」のことですか? COUNTIF 関数は、セルの個数を数える関数です。特定の文字列が記入されているセルとか特定の数値のセルとか、文字列か数値かは問わないが一定の条件を満たすセルとか、そういったセルの個数を数えるだけです。そのため 2 文字以上のデータ割合が不明な場合では、COUNTIF によって範囲内の全体の文字数を求めることはできません。 各セルの文字列全体をそれぞれ 1 つと数えるのではなく、セルに記入されている文字の数を求める関数としては、LEN 関数というのが用意されています。例えば必ず「.0」という 2 文字分を加えて勘定すべきだと言える場合は、A1:C1 という範囲内の文字の総数は、次式で計算できます。 =len(a1)+len(b1)+len(c1)+2 あるいは =sumproduct(len(a1:c1))+2
- MarcoRossiItaly
- ベストアンサー率40% (454/1128)
No.3 さんもおっしゃっていますが、文字列をつなごうとする目的は何ですか? 現在どこにどんなデータが配置されていて、それを使って何をしたいのか(目的)によって、「最適な」つなげる手法は変わってくるはずだという話です。 「262.0」という文字列が得られればよいだけなら、例えばユーザーの目視により、キーボードで「262.0」とどこかのセルにタイプ・記入するというのも、その一つの方法になりますね。そうではなくて「262」であれば、逆に回答者は目的を知らなくても、「=a1&b1&c1」といった感じの数式でとりあえず得られますね。 >COUNTIFで個数を数えたいだけなので、文字列でも問題はないです。 本当にそれだけが目的だとすれば、文字列をつながなくても、既存データの行数などを数えれば済むということですか?行数であれば、例えば ROWS 関数によって数えることができます。既存データを数えるわけなので、つなぐ操作はきっと不要となります。 また、「.0」という末尾の有無によって COUNTIF による計算結果が変わるという状況が、よく分かりません。もしも変わるのであれば、それはなぜなのか、補足をお願いいたします。 COUNT や COUNTA ではなく、COUNTIF を用いるのですかね。
補足
>「262.0」という文字列が得られればよいだけなら、例えばユーザーの目視により、キーボードで「262.0」とどこかのセルにタイプ・記入するというのも、その一つの方法になりますね。 データ数が多いので、自動的に結合したいです。 >本当にそれだけが目的だとすれば、文字列をつながなくても、既存データの行数などを数えれば済むということですか? 同じ文字列ばかりがあるわけではないのです。 >また、「.0」という末尾の有無によって COUNTIF による計算結果が変わるという状況が、よく分かりません。 これは桁合わせのためです。ですから文字列の数を計算できる関数ならなんでも構いません。
- MackyNo1
- ベストアンサー率53% (1521/2850)
どのような目的で、文字列を結合したいのでしょうか? デフォルトの設定では、セルに「2.0」と入力しても「2」として認識されますので、文字列を結合してもご希望の表示はできません。 簡便に対応するなら、セルの書式設定で表示形式を「文字列」に設定しておけば「2.0」と入力すると通常の文字列として認識させることができます。 #目的によって最も合理的な関数や操作法が異なりますので、具体的にどのような目的でそのような文字列結合がしたいのか(文字列を結合しても数値ではないので注意が必要)補足説明されるとよいと思います。
補足
COUNTIFで個数を数えたいだけなので、文字列でも問題はないです。
- chonami
- ベストアンサー率43% (448/1036)
CONCATENATEでつなげると文字列になりますからね・・・ =CONCATENATE(選択セル)*1 にして、表示形式で小数点1位まで表示させては?
補足
文字列の数とは、「262.0」は3個、「151.5」は5個といった検索条件に一致するセルの個数という意味です。