IF'de noktalamayı oku


0
=IF(MID(B3,ROW(A:A),1)=MID(B3,LEN(B3)+1-ROW(A:A),1),"T")

Yukarıdaki formülle B3 hücresindeki Palindrome okuyordum, iyi çalışıyor (noktalama işaretleri olmadan). fakat noktalama işaretleriyle ve boşluklarla Palindrome okumaya çalıştığımda, iyi okumadı.

Örneğin:-

B3: lol ---- ve gt; Palindrome B3: l ol ---- Palindrome ........ (ancak l & amp; lar arasında boşluk olduğu için Palindrome olmamalıdır)

Formülümde hangi noktaları özlediğimi anlamıyorum? Birisi lütfen benim formül evrensel olsun bana yardımcı olabilir? Teşekkürler!


Saygılarımızla,

Yanıtlar:


0

Şu anki formülünüzün birçok büyük sorunu var, bu yüzden "işe yaramadığını" duyduğuma çok şaşırdım.

Her şeyden önce, IF ifadesine etki eden bir dış işlev yoktur. Bu nedenle, karşılaştırma tarafından üretilen dizideki ilk öğe dışındakilerin tümü göz önünde bulundurulur. Aslında, dizenizdeki ilk harf en sonuncu harfle eşleşiyorsa formülünüz "T" değerini döndürür: dizedeki diğer tüm harfler bu ifade söz konusu olduğunda tamamen gereksizdir. Formülünüze göre, ABCDEA gibi bir dize bir palindrom olarak kabul edilir. Ve bu yüzden “L OL” örneğinizin “T” ye dönmesi - orta karakterlerin bir önemi yoktur.

İkincisi, dizinin MID's olarak geçirilmesi için ROW işlevine iletilen tüm sütunun değerlerinin tümünü içeren bir formüle giriyorsunuz. başlangıç_sayısı parametre. Bu, yalnızca Excel'in bir milyondan fazla öğeden (şaşırtıcı ve gereksiz miktarda kaynak gerektiren) oluşan bir dizi oluşturmak zorunda olduğu anlamına gelmez, aynı zamanda ikinci dizinizin de tabii ki binlerce ve binlerce negatif değerden oluşacağı anlamına gelir MID'e iletildiğinde hatalarla sonuçlanacaktır.

Deneyin:

=IF(SUMPRODUCT(N(MID(B3,ROW(INDEX(A:A,1):INDEX(A:A,LEN(B3))),1)<>MID(B3,LEN(B3)+1-ROW(INDEX(A:A,1):INDEX(A:A,LEN(B3))),1)))=0,"T","")

Saygılarımızla


Teşekkürler XOR! IF hakkında daha net bir şekilde bana bildirmek için & amp; bu kod için :)
Hemant Rupani

Çok rica ederim.
XOR LX
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.