• ベストアンサー

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

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

noname#8194
noname#8194

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

  • ベストアンサー
  • 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/17068)
回答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の動作がおかしいと思う方がいたら、そういう回答をして下さい。 「おかしい」と確信するにはそのほうがよいです。

関連するQ&A

  • EXCELでの置換でコーテーションを残す方法

    どなたか教えて下さい。 EXCELの置換(「編集」-「置換」)で文字列の置換は出来るのですが、 ” :ダブルコーテーション から ’ :シングルコーテーション に置換したいのですが、その場合、セルの先頭のシングルコーテーションが文字列の始まりと捕らえられ消えてしまいます。 これをそのまま残す方法はありますか?

  • エクセルにて文字列データ先頭の「'」シングルクォーテーションを非表示にする

    よろしくお願いします。 EXCEL形式にアウトプットしデータを作成しました。 そのなかに文字列と認識させたい数字フィールドがあり先頭に「'」シングルクォーテーションを付けています。 すると対象のセル上に、シングルクォーテーションが表示されておりました。 セルをアクティブにし、編集状態でEnterを押下することにより、表示になりました。 なにもせずに「シングルクォーテーション」がセルには非表示、数式バーには表示される状態にするには、どうしたらよいでしょうか。 よろしくお願いします。

  • エクセルでダブルコーテーションを消したい

    エクセルで文字列を入力すると必ずダブルコーテーションがついてしまいますが、これを消して保存するにはどうしたらいいのでしょうか?

  • 文字列に含まれているダブルクォーテーション( ")を置換する

    文字列に含まれているダブルクォーテーションを除きたいのですが、これをSubstitute関数で置換しようとしてもうまくいきません。ダブルクォーテーションが文字列を指定するために使われるせいだと思うのですが、"を文字列として指定する方法はあるのでしょうか? よろしくお願いします。

  • 文字列として"(ダブルコーテーション)を表示させる方法

    こんにちは。文字列として、ダブルコーテーションを表示させるには、どうすればよいのか教えてください。m(__)m 例えば、 <font size="2">あいうえお</font> というタグの「あいうえお」の部分が、セルA1にあった場合、 ="<font size="2">"&A1&"</font>"という表示にしたいのです。 "2"のダブルコーテーションも文字列として表示させるには、どうすればよろしいのでしょうか。 教えてください。よろしくお願い致します。

  • ダブルクォーテーションを文字列として扱いたい

     初心者な質問で申し訳ありませんが、ダブルクォーテーション("")を  文字列として扱いたいのですが、どうもうまくいきません。  SQLなどだと、escapeって関数がありますよね?  VBにはそれに似たような関数はあるのでしょうか??

  • エクセルの文字列を数式に変換する方法

    エクセルに「=A1+A2」という文字列を値コピーでペーストしたのですが、この文字列を簡単に数式に変換する方法はないでしょうか?                              文字列のはいったセルをダブルクリックすれば、文字列が数式にかわって、A1+A2を計算しれくれるのですが、ひとつひとつのセルをダブルクリックするのが大変で・・・。 よろしくお願いいたします。

  • ダブルコーテーション付き文字列をファイルから読み込むには

    お世話になります。 ホストから出力されたファイルをVBで読込みたいのですが、文字列の中に「":ダブルコーテーション」が含まれます。 VBでopenすると2番目の「":ダブルコーテーション」で切れてしまい、EOFでループすると1レコードで何回もループしてしまします。 対処法等ありましたらご教授ください。 よろしくお願いします。

  • Excelでセル内の文字列のみをコピーする方法

    Excelでセル内の文字列のみをクリップボードにコピーする方法を教えてください。 ※クリップボードにコピーをする方法であり、他のセルに値のみをペーストする方法ではありません。 満たしたい点は2つです。 ・表示している文字列のみを取得 ・複数のセルを同時にコピー 一つのセルに以下の文字列が入っていた場合(#以外) #123 #"abc" コピーするとクリップボードを文字列として取得すると以下の文字列が得られます #"123 #""abc""" これを以下の文字列が得られるようにしたいのです。 #123 #"abc" 1つのセルだけでいい場合は、セルを編集状態にしてコピーしたり アクティブセルの数式バーをコピーすればいいのですが、 これは当然、複数のセルを同時に選択する場合には使えません。 VBAを使う方法でもそうでなくてもかまいません。 (VBAの場合はコードもお願いしたいです) よろしくお願いします。

  • ダブルクォーテーションが置換できません

    いつもお世話になっております。 PHP初心者です。 シングルクォーテーションとダブルクォーテーションを文字列として入力したいと思い、以下のように記述しました。 -------------------------------------------------- $naiyo = $_POST['naiyo']; $search = array('\'','"'); $replace = array('\'\'','\"'); $naiyo2 = str_replace($search,$replace,$naiyo); -------------------------------------------------- シングルクォーテーションは置換された(文字列として表示された)のですが、ダブルクォーテーションは表示されず、ダブルクォーテーション以下の文字列が消えてしまいます。 置換ができていないというよりも、そもそもダブルクォーテーションが検索に引っかかってもいないようです。 どのようにすればダブルクォーテーションも置換できるか、お分かりの方がいらっしゃいましたらご教示ください。 よろしくお願いいたします。

    • 締切済み
    • PHP

専門家に質問してみよう