Excel formüllerinde çift tırnak içeren dizeler nasıl oluşturulur?


312

Excel formülünde aşağıdaki dizeyi nasıl oluşturabilirim:

Maurice "Roket" Richard

Tek tırnak kullanıyorsam, önemsiz = "Maurice 'The Rocket' Richard"ama çift tırnak ne olacak?

Yanıtlar:


468

Bir çift alıntı ile kaçmayı denedin mi?

= "Maurice ""The Rocket"" Richard"

159

Alternatif olarak, şu CHARişlevi kullanabilirsiniz :

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

5
Bu daha benim için daha tutarlı çalışır ""Belki de Mac Excel 2011 var diye var
Ivan

5
@Ivanoats: Hayır, o (burada Windows'u kullanarak) Mac şey değil - bu yapar daha tutarlı işi; benim durumumda, &ve işareti hemen önce ya da hemen sonra çift tırnak ile bitiştirmek çift-çift tırnak yöntemi kullanarak işe yaramadı.
Amos M. Carpenter

Çoğunlukla serpiştirilmiş noktalama işaretleri içeren çoklu birleştirilmiş alanlardan oluşan karmaşık bir dizenin etrafına tırnak işaretleri sarmam gerektiğinden, benim için daha tutarlı bir şekilde çalışır. En son durumumda, şöyle bir şey bulmak için: "NameOfLocation, Sokak Adresi, Şehir, Eyalet Posta"
jamesnotjim

21

Üç çift tırnak: " " " x " " "= "x"Excel otomatik olarak bir çift ​​tırnak işareti olarak değişecektir. Örneğin:

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

= "x" merhaba


1
Eğer bu doğruysa, lütfen = concatenate ("a" "" b ") sonucunu detaylandırın. Gözleminize göre sonuç" b. Olay bu değil. Aslında bu ifade Excel tarafından bile kabul edilmeyecektir.
whaefelinger

1
virgül unuttun
KiwiSteve

1
Örneğinizdeki dış tırnak işaretleri dizeyi yeni başlayıp bitiyor. "", "" değil, bir alıntı karakteri oluşturur.
Ben I.

7

Bunun için bir işlev kullanıyorum (çalışma kitabında zaten VBA varsa).

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

Sue Mosher'in "Microsoft Outlook Programlama" kitabından. O zaman formülünüz şöyle olur:

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

Bu, Dave DuPlantis'in yayınladığı şeye benzer .


6

Bunu JSON ile yapmanız gerektiğinde:

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

1
Teşekkür ederim! Bu bana tamamen yardımcı oldu! Hücrelerimdeki bir JSON dizisini düzgün biçimlendirmek için uğraşıyordum.
Brian C

1
Teşekkürler, tam ihtiyacım olan şey :)
JimiSweden

4

Chr (34) Kodunu kullanın:

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

Sonuç:

    Hi there, "joe"


1

""Bir hücrenin boş görünmesini sağlamak için boş veya sıfır uzunluklu bir dize (ör. ) Döndürmek, çalışma sayfası formülünde yaygın bir uygulamadır, ancak VBA'daki formülü Range.Formula veya Range.FormulaR1C1 özelliği aracılığıyla eklerken bu seçeneği yeniden oluşturmak gereksizdir . tırnak içine alınmış bir dize içinde çift tırnak karakterlerini ikiye katlama zorunluluğu.

Çalışma sayfasının özgün METİN işlevi tırnak kullanmadan aynı sonucu verebilir.

'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

Gözüme için kullanma TEXT(,)yerine ""temizler yukarı yukarıdaki gibi bile basit bir formül. Bir arama boşluğa neden olduğunda veya IFERROR ile eşleşmediğinde boş bir dize döndürdüğünde hücreye sıfır döndürmekten kaçınmak için VLOOKUP'a boş bir dize ekleme uygulaması gibi daha karmaşık formüllerde kullanıldığında faydalar giderek daha önemli hale gelir .

'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(,))"

İle TEXT(,)eski yerine ""boş bir dize sunma yöntemini, size bir formül dizede tırnak karakterleri doğru sayıda sahip olup olmadığını belirlemek için bir abaküs kullanarak durdurmaya alabilirsiniz.


1

Concatenate "bir ceparate hücresi olarak:

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

D1 displays "text"

0

VBA İşlevi

1) .Formula = "=" "BİLGİ FONKSİYONU" "& (CHAR (34) &" "STUFF" "& CHAR (34))"

2) .Formula = "BİLGİ FONKSİYONU" "PERSONEL" ""

İlk yöntem, hesaplanan değerle sonuçlanan bir hücreye formül yazmak için vba kullanır:

 THEFORMULAFUNCTION "STUFF"

İkinci yöntem, hücreye bir dize yazmak için vba değerini kullanır ve bu da şu değerle sonuçlanır:

 THEFORMULAFUNCTION "STUFF"

Excel Sonucu / Formülü

1) = "BİLGİ FONKSİYONU" & (CHAR (34) & "STUFF" & CHAR (34))

2) BİLGİ "PERSONEL"



0

"Excel formülünde aşağıdaki dizeyi nasıl oluşturabilirim:" "Excel formüllerinde çift tırnak içeren dizeler nasıl oluşturulur?" iki tek tırnak:

SO216616 örneği

Solda Calibri bir Excel çalışma sayfasından, sağda bir VBA penceresinden bir ekran alıntısı var. Benim görüşüme göre @YonahW tarafından belirtildiği gibi kaçan 'eller aşağı' kazanıyor, ancak iki tek tırnak iki katlamadan daha fazla yazmak değil ve fark VBA'da ek tuş vuruşları olmadan makul bir şekilde görünürken, potansiyel olarak bir elektronik tabloda fark edilmiyor.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.