Bagaimana cara membuat string yang berisi tanda kutip ganda dalam rumus Excel?


312

Bagaimana saya bisa membuat string berikut dalam rumus Excel:

Maurice "The Rocket" Richard

Jika saya menggunakan tanda kutip tunggal, itu sepele = "Maurice 'The Rocket' Richard"tapi bagaimana dengan tanda kutip ganda?

Jawaban:


468

Sudahkah Anda mencoba melarikan diri dengan penawaran ganda?

= "Maurice ""The Rocket"" Richard"

159

Atau, Anda dapat menggunakan CHARfungsi ini:

= "Maurice " & CHAR(34) & "Rocket" & CHAR(34) & " Richard"

5
Ini bekerja lebih konsisten untuk saya daripada ""Mungkin itu hanya karena saya memiliki Mac Excel 2011
Ivan

5
@Ivanoats: Tidak, itu bukan hal yang Mac (menggunakan Windows di sini) - ini tidak bekerja lebih konsisten; dalam kasus saya, menggabungkan menggunakan &dengan kutipan ganda tepat sebelum atau hanya setelah ampersand tidak bekerja menggunakan metode penawaran ganda-ganda.
Amos M. Carpenter

Bekerja lebih konsisten untuk saya, karena saya sering perlu membungkus tanda kutip di sekitar string rumit yang dibangun dari beberapa bidang gabungan dengan tanda baca diselingi. Dalam kasus saya yang terbaru, untuk menghasilkan sesuatu seperti ini: "NameOfLocation, Street Address, City, State Zip"
jamesnotjim

21

Tiga kutipan ganda: " " " x " " "= "x"Excel akan otomatis berubah menjadi satu kutipan ganda. misalnya:

=CONCATENATE("""x"""," hi")  

= "x" hai


1
Jika ini benar, maka tolong jelaskan hasil dari = concatenate ("a" "" b "). Menurut pengamatan Anda, hasilnya adalah" b. Ini bukan kasusnya. Bahkan ungkapan ini bahkan tidak akan diterima oleh Excel.
whaefelinger

1
Anda lupa koma
KiwiSteve

1
Kutipan luar dalam contoh Anda baru memulai dan mengakhiri string. "" menciptakan karakter kutipan, bukan "" ".
Ben I.

7

Saya menggunakan fungsi untuk ini (jika buku kerja sudah memiliki VBA).

Function Quote(inputText As String) As String
  Quote = Chr(34) & inputText & Chr(34)
End Function

Ini dari buku Sue Mosher "Microsoft Outlook Programming". Maka formula Anda adalah:

="Maurice "&Quote("Rocket")&" Richard"

Ini mirip dengan apa yang diposting oleh Dave DuPlantis .


6

Jika Anda perlu melakukan ini dengan JSON:

=CONCATENATE("'{""service"": { ""field"": "&A2&"}}'")

1
Terima kasih! Ini benar-benar membantu saya! Saya berjuang untuk memformat array JSON dengan benar di sel saya.
Brian C

1
Terima kasih, hanya apa yang saya butuhkan :)
JimiSweden

4

Gunakan chr (34) Kode:

    Joe = "Hi there, " & Chr(34) & "Joe" & Chr(34)
    ActiveCell.Value = Joe

Hasil:

    Hi there, "joe"

1

apakah ini akan berfungsi untuk makro yang menggunakan .Formula = "=THEFORMULAFUNCTION("STUFF")" sehingga akan seperti: apakah ini akan berfungsi untuk makro yang menggunakan.Formula = "=THEFORMULAFUNCTION(CHAR(34) & STUFF & CHAR(34))"


1
Tidak tahu apakah sintaks khusus ini tersedia di VBA. Cobalah.
Allain Lalonde


1

Mengembalikan string kosong atau panjang nol (mis. "") Untuk membuat sel tampak kosong adalah praktik yang umum dalam rumus lembar kerja tetapi menciptakan kembali opsi itu saat memasukkan rumus melalui properti Range.Formula atau Range.FormulaR1C1 di VBA adalah sulit digunakan karena keharusan untuk menggandakan karakter tanda kutip ganda dalam string yang dikutip.

Fungsi TEXT asli lembar kerja dapat menghasilkan hasil yang sama tanpa menggunakan kutipan.

'formula to insert into C1 - =IF(A1<>"", B1, "")
range("C1").formula = "=IF(A1<>"""", B1, """")"         '<~quote chars doubled up
range("C1").formula = "=IF(A1<>TEXT(,), B1, TEXT(,))"   '<~with TEXT(,) instead

Untuk mata saya, menggunakan TEXT(,)tempat ""membersihkan bahkan formula sederhana seperti di atas. Manfaat menjadi semakin signifikan ketika digunakan dalam formula yang lebih rumit seperti praktik menambahkan string kosong ke VLOOKUP untuk menghindari mengembalikan nol ke sel ketika hasil pencarian kosong atau mengembalikan string kosong pada ketidakcocokan dengan IFERROR .

'formula to insert into D1 - =IFERROR(VLOOKUP(A1, B:C, 2, FALSE)&"", "")
range("D1").formula = "=IFERROR(VLOOKUP(A1, B:C, 2, FALSE)&"""", """")"
range("D1").formula = "=IFERROR(VLOOKUP(A1, B:C, 2, FALSE)&TEXT(,), TEXT(,))"

Dengan TEXT(,)mengganti ""metode lama menghasilkan string kosong, Anda mungkin bisa berhenti menggunakan sempoa untuk menentukan apakah Anda memiliki jumlah karakter kutipan yang tepat dalam string formula.


1

Concatenate "sebagai sel ceparate:

    A |   B   | C | D
1   " | text  | " | =CONCATENATE(A1; B1; C1);

D1 displays "text"

0

Fungsi VBA

1) .Formula = "=" "THEFORMULAFUNCTION" "& ​​(CHAR (34) &" "STUFF" "& CHAR (34))"

2) .Formula = "THEFORMULAFUNCTION" "STUFF" ""

Metode pertama menggunakan vba untuk menulis rumus dalam sel yang menghasilkan nilai yang dihitung:

 THEFORMULAFUNCTION "STUFF"

Metode kedua menggunakan vba untuk menulis string dalam sel yang menghasilkan nilai:

 THEFORMULAFUNCTION "STUFF"

Hasil Excel / Formula

1) = "THEFORMULAFUNCTION" & (CHAR (34) & "STUFF" & CHAR (34))

2) THEFORMULAFUNCTION "STUFF"



0

Ada cara lain, meskipun lebih untuk "Bagaimana saya bisa membangun string berikut dalam formula Excel:" Maurice "The Rocket" Richard "" daripada "Cara membuat string yang berisi tanda kutip ganda dalam rumus Excel?", Yang hanya menggunakan dua kutipan tunggal:

Contoh SO216616

Di sebelah kiri adalah Calibri yang diambil dari lembar kerja Excel dan di sebelah kanan sebuah snip dari jendela VBA. Dalam pandangan saya melarikan diri seperti yang disebutkan oleh @YonahW menang 'hands down' tetapi dua kutipan tunggal tidak lebih dari mengetik dua ganda dan perbedaannya cukup jelas dalam VBA tanpa penekanan tombol tambahan sementara, berpotensi, tidak terlihat dalam spreadsheet.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.