• ベストアンサー

Excelに、ダブルクォーテーションで始まる文字列を貼り付けると、ダブルクォーテーションが消えること

Excelで、ダブルクォーテーションで始まる文字列をセルに貼り付けたときに ダブルクォーテーションが消えるのですが、 Excelってもともと(標凖的な動作として)そういうものですか。 (F2キーを押すなりして)編集状態にして貼り付ければ、ダブルクォーテーションのついたまま貼り付くのですが、 私はセルを選択して貼り付けただけでも大丈夫だと思っていました。 「文字列を貼り付ける」というのは、例えばテキストエディタ上にあるものを手作業でコピーして貼り付ける、ということです。 「ダブルクォーテーションで始まる文字列」と言っても、 ダブルクォーテーションが3つ以上あったときに消えるのは、最初の1組(2つ)ですね。 しかし、 "AAAA"""BBBB のような場合には、なぜか AAAA"BBBB になるのです。 (ちなみに、この文字列を、質問直前の質問内容確認の画面(IE)でコピーしてExcelに貼り付けたときは、違います。) どのような規則に基づいてダブルクォーテーションが消えるのかも疑問です。 このような仕様になっている理由はなんでしょうか。 また、Excelに文字列を貼り付けるという操作を頻繁に行うため、 できれば、編集状態にしなくても、 セルを選択して貼り付けするだけで、そのままダブルクォーテーションも貼り付いてほしいのですが、 そのためにはどうすればよいのでしょうか。 「セルの書式設定」で、表示形式を文字列にすればよいと思ったのですが、だめでした。 セルには文字列を入れるだけで、数式を入れたりしません。 (数式としては扱ってほしくない、という意味です。) Excelは2000です。

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

  • ベストアンサー
  • golddog
  • ベストアンサー率25% (11/43)
回答No.11

N0.2です。 どうせ置換するのなら、 テキストエディタで "→@ しておいて、Excel貼付後 @→" に戻す という方法はどうでしょうか。 例)最初に "AAAA"""BBBBB → @AAAA@@@BBBBB   Excel貼付後に @AAAA@@@BBBBB → "AAAA"""BBBBB

その他の回答 (10)

  • deecyan
  • ベストアンサー率38% (89/233)
回答No.10

【一応、私なりの解決策】 先ずテキストエディターで ["] を [""] に 全て変換 その後行の最初と最後に["] を入れる "AAAA"""BBBB ""AAAA""""""BBBB """AAAA""""""BBBB" EXCELで ["]が入った 文字を 色々なパターン用意して テキストファイル(タブ区切り)にして書き出した結果 こう推測したが どうなんだろう

  • SL-Blue
  • ベストアンサー率35% (41/114)
回答No.9

めんどうでなければ、テキストエディタからコピー → 貼り付けるセルを選ぶ → 数式バーに貼り付けにすれば、"aaa"""bbbb" → "aaa"""bbbb"になるようです。 理由はわかりませんが・・答えになっているんでしょうか?(^^;)

回答No.8

No7です。 回避策を書き忘れました 文字列の引用符 " を 文字列の引用符 なし にしてください  

回答No.7

No1です。 秀丸からコピーしたら、分かりました。 どうやら、秀丸からコピーすると、そのコピーされた単語は、テキストファイルとして認識されているようです。 そのため、 "AAAA"""BBBB は "AAAA" と "BBBB が、 " によって連結された2語として扱われていると考えら れます。 ex2000ということなので無理だとおもいますが、 ex2002からは、貼り付け時にテキストファイルウィザードが選択できるので、これで回避できます。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.6

(1)OSを離れて(多分UNIXなどでも) (2)昔から-->質問者はお若い (3)エクセルを離れて-->プログラムをやったことない から疑問に思うのです。 この点は、そうややこしいものです。 全角文字がなかった昔から、数値と数字文字列などを区別する必要はあったし、英字と数字のように数値と一見して区別出きる頃でも、文字列は””で囲む約束が多かったのです。 すると「この囲みの”」と、「文字列の中の”」と区別する必要が出てきて、”を囲むために2つや3つ連ねることにしたりする。言語・データベース言語(SQLなど)・ソフトで違いがあります。違う言語でプログラムする時は迷います。マニュアルを参照する必要があります。 エクセルも文字列を入力する時、昔からのルールに従うならば、””で囲んで入力すべき(注)なのかも知れませんが、それでは煩わしく手数がかかるので、数字文字だけが入力された時は、自動的に数字にするおせっかいをする仕組みなので、それ以外は文字列にするので、””が不要になった(した)とも言えると思う。(注)現状は”あああ”と入力すると「あああ」にはしてくれない。 その反射的効果として、数字だけの文字列を入力する時は ’などを付けて文字列を知らせないといけなくなった。 >そのためにはどうすればよいのでしょうか。 ="aaa"と、=を入れてその右に貼りつけるのはどうでしょう。="aaa"も式なので、自己セルへ値を複写して、式を 最後に消しておくのはどうでしょう。 >表示形式を文字列にすればよいと これはセルの「値」に関連したことであって、表示形式とは関係なく、見当違いなのです。 >"AAAA"""BBBBのような場合には、なぜかAAAA"BBBB になるのです。 AAAAの前後のワンペアの””は文字列を囲む””だとして 省かれたものと見られる。しかし基本的にエクセルは””のワンペアを省く仕組みはなく、実際やって見ると aa"""fffはaa"""fffのまま貼りついた。一番前の”があると””の”だと解釈して中の”の一つを消すのは判るが 残り2つが1つになるのが判らないが下記例から推定すると””は、先頭に”が来た時だけ1つの”の扱いか。 VBAで Sub test01() MsgBox "aaa""ss" End Sub を実行するとaaa"ssと表示される。 Sub test01() MsgBox """aaa""""""ss""" End Sub は"aaa"""ss"と 表示される。 ""は1つの扱いになり、最初・最後の””は文字列識別 に使われた。 やや独断・偏見を恐れるが。

回答No.5

テキストエディターは何を使っているの? 当方WORDで確認しました。

noname#8194
質問者

補足

後のご回答で、確認できたとのことですが、 一往補足しておきます。 テキストエディタはメモ帳と秀丸です。 後でTeraPadというテキストエディタで確認しましたが、動作は同様です。 >当方WORDで確認しました。 確かにWordでコピーしたら、私が質問で書いた現象は起きませんでした。 分かったことを書いておきます。 Wordにしてもメモ帳にしても、コピーを行うと、クリップボードに貼り付く。 WordやExcelのクリップボードツールバーの「アイテム」で何が貼り付いているのか分かる。 Wordでコピーを行うと、「アイテム」の 貼り付いている文字列のアイコンは、Wordのアイコンである。 メモ帳でコピーすると、テキストファイルのようなアイコンである。 クリップボードは、Wordでコピーしたのか別のところでコピーしたのかを知っている。 Wordでコピーしても、メモ帳でコピーしても、 クリップボードに貼り付いた時点では、ダブルクォーテーションは消えていない。(当たり前か。)

  • deecyan
  • ベストアンサー率38% (89/233)
回答No.4

おはようございます 確かに qcn11e さんのおっしゃるとおり AAAA"BBBB となります(EXCEL2000ではないですが) >どのような規則に基づいてダブルクォーテーションが消えるのかも疑問です。 私もそう思います。(わからないです 面白そうなのでいろいろしらべてみますね) >(ちなみに、この文字列を、質問直前の質問内容確認の画面(IE)で >コピーしてExcelに貼り付けたときは、違います。) コピー元がHTMLだからではないでしょうか? 貼り付けた時セル連結されていますよね >このような仕様になっている理由はなんでしょうか。 ダブルクォーテーション を EXCELが特別な文字として取り扱っているからだと思います。(他のソフトでもよく特別扱いしています) >セルを選択して貼り付けするだけで、そのままダブルクォーテーションも貼り付いてほしいのですが、 >そのためにはどうすればよいのでしょうか。 私はよく 半角の" を 全角の”に変換して コピーし 貼り付けたあとに 全角の”を半角の"に戻しています (返還前に全角の”があったらどうするかは その時々ですが)

noname#8194
質問者

補足

>>(ちなみに、この文字列を、質問直前の質問内容確認の画面(IE)で >>コピーしてExcelに貼り付けたときは、違います。) >コピー元がHTMLだからではないでしょうか? 貼り付けた時セル連結されていますよね そうです、連結されています。 この点について考えると質問内容とずれてくるので、やめておきます。 >私はよく 半角の" を 全角の”に変換して コピーし これはテキストエディタの置換で変換するのでしょうか。 >貼り付けたあとに 全角の”を半角の"に戻しています >(返還前に全角の”があったらどうするかは その時々ですが) なるほど、ありがとうございます。

  • SL-Blue
  • ベストアンサー率35% (41/114)
回答No.3

セルをコピー → セルに貼り付けの場合は "AAAA"""BBBB → "AAAA"""BBBB 数式バーからコピー → セルに貼り付けだと "AAAA"""BBBB → AAAA"BBBB こうなります。 少し違いますか? でも、誤動作ではないようですね? どうしてなるんでしょう?私も興味があります

noname#8194
質問者

補足

回答の流れからすると、 私のExcelは標凖的な動きをしているようですね。 >数式バーからコピー → セルに貼り付けだと >"AAAA"""BBBB → AAAA"BBBB こうなります。 そういうことです。 私が質問で書いたことは「テキストエディタ」でコピーした場合ですが、 数式バーでも同じことでしょう。 私のExcelも数式バーからセルに貼り付けると、 "AAAA"""BBBB は AAAA"BBBB になります。

  • golddog
  • ベストアンサー率25% (11/43)
回答No.2

こんにちは 私のExcelもご質問者の方と同じ様な動きをします。 あなたのExcelだけがおかしいのではないと思います。 仕様かな? きっと裏技があるはずですよ。 発見できたらお知らせします。

noname#8194
質問者

補足

これは本当にありがとうございます。 >あなたのExcelだけがおかしいのではないと思います。 >仕様かな? この動きって、やっぱり変だなあと感じます? >きっと裏技があるはずですよ。 >発見できたらお知らせします。 是非、よろしくお願いします。 他にも、私のExcelと同じ動きをする方、しない方、 両方のご回答をお待ちしております。

回答No.1

" じゃなくて ' ではないかな? " ならちゃんと表示されると思いますよ。 ' は、「この入力値を文字列と判断させる」おまじないです

noname#8194
質問者

補足

セルを選択して直接入力したときは おっしゃるとおり、 シングルクォーテーションは表示されません(数式バーにはシングルクォーテーションは入っています。)し、 ダブルクォーテーションは入力したまま表示されます。 私の場合、ダブルクォーテーションで始まる文字列を貼り付けたときには、 表示されないばかりでなく 数式バーにもダブルクォーテーションは存在しません。 逆に、 シングルクォーテーションで始まる文字列を貼り付けたときは シングルクォーテーションがそのまま表示されます。 ご回答から推測すると、私のExcelの動作は、標凖的ではないか誤動作のようですね。 私が「シングルクォーテーション」と「ダブルクォーテーション」を取り違えて勘違いしていることはないはずです。 (本人が思い込んでいることを「勘違い」というのかもしれないが。) シングル(1つ)のほう(')がシングルクォーテーションで、 ダブル(2つ)のほう(")がダブルクォーテーションです。 他にも私のExcelの動作がおかしいと思う方がいたら、そういう回答をして下さい。 「おかしい」と確信するにはそのほうがよいです。