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

&関数(?)で、「23」と「01」をつなげた時「231」となります。「2301」とするにはどうすれば良いでしょうか? よろしくお願いします。

A 回答 (7件)

"231" = 23 & 01


"2301" = "23" & "01"

理由。""でくくらないと 01という「数(=1)」を経由し、
その後、その数字に対して文字列扱いとなるから

ちなみに & は + や - と同じタイプのもので「&演算子」といいいます

この回答への補足

早速の回答、ありがとうございます。
No2.さんへの補足を読んでいただけると助かります。

補足日時:2006/07/04 01:33
    • good
    • 0

Excelのお話でしょうか?



どういう状況かよく分かりませんが、
=23&01とすると231と表示されるということでしたら、
01は数値として扱われ、Excelが1としか認識していないためと思われます。

=23&"01" と、" "で囲って01を文字列として扱えば
2301と表示されます。

この回答への補足

早速の回等、ありがとうございます。
Excelでの質問です。
「23(半角数字)」と入力したセルと「01(半角数字)」(表示桁数を2桁にしているので「01」と表示されている)を  =[セル指定(23)]&[セル指定(23)]  で演算した場合のことです。

表示はともかく、エクセルは「01(半角)」を「1」(数字)として認識しているのでしょうが、そこを何とかできないものかと・・・。

補足日時:2006/07/04 01:23
    • good
    • 0

A1に23、B1に1が入力してあるとして、



一番単純な方法は
=A1&"0"&B1

しかし、察するにB1には1だけではなく他の2桁の数が
入力されていることもあるのでは、と思いますので
=A1&RIGHT("0"&B1,2)
でいかがですか?

更に、
「B1は何桁か不定だが、B1が1桁の数の場合だけ0を付加、
そうでない場合は0を付加しない」
なんてことも想定すると
=A1&RIGHT("0"&B1,LEN(B1)+(LEN(B1)=1))

いろいろな条件により、このように解答は変わります。
    • good
    • 0
この回答へのお礼

ありがとうございます。
お察しの通りです!
私の知りたいことまで察していただきありがたいです。
お世話になりました。
助かりました。

お礼日時:2006/07/04 11:08

=TEXT(A1,"00")&TEXT(B1,"00")

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

ありがとうございました。
最もシンプルで的を得た回答を頂きました。
助かりました。

お礼日時:2006/07/04 11:09

>エクセルは「01(半角)」を「1」(数字)として認識しているのでしょうが


エクセルは01と入力すると数値1にするおせっかい機能が働く。これエクセルの常識。「認識している」というよりも逆に、>「01(半角)」とは文字列のはずで、それ(文字列として)を入力するのは特別に、(1)先に書式を文字列にしてから、「01」と入力するか(2)シングルコーテイションに続けて01と入力しないとなりません(時々質問あり)。
本質問を読んで、「おかしいな」と思ったら、無理無理「>表示桁数を2桁にしているので(X)」だったからです。
ーーー
もうひとつ認識が足らないのは
(1)&は関数です
(2)関数はセルの「値」を問題にするもので、書式(セルの内容の見た目)を扱うものではない。したがって上記Xのため「01」と見えていても、値(数値)1を扱ってます。
本当は文字列&数値はダメのはずが、エクセルは数値を文字列に直して結合するので、231とかになる。数値を文字列にして、桁数指定するのは =TEXT(B1,"00") という関数です
エクセルやプログラムは文字列か数値かは、死命を制することあり。
注意すること。
    • good
    • 1
この回答へのお礼

丁寧な説明、ありがとうございます。
他の皆さんのアドバイス全体がこの説明で関連付きました。
勉強になりました。

お礼日時:2006/07/04 11:16

A1 に23、B1に01(1)



=A1*100+B1
    • good
    • 0
この回答へのお礼

ありがとうございます。
私の質問の書き方が悪かったのですが、複数の数値(文字列)に対応しないといけないので、この個別の対応ではダメだったのです。
言葉足らずでした。

お礼日時:2006/07/04 11:27

方法はいくつかありますが...


=TEXT(A1,"00")&TEXT(A2,"00")
=TEXT(A1*100+A2,"0000")
=RIGHT("00"&A1,2)&RIGHT("00"&A2,2)
    • good
    • 0
この回答へのお礼

ありがとうございました。
それぞれの意味が、皆さんの回答を通して見えました。
助かりました。

お礼日時:2006/07/04 11:28

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