Excel dizesinde ilk büyük harfli karakterin konumunu bulun


2

İlk büyük harf karakterinin konumunu bir Excel dizesinde bulmam gerekiyor. Web'de bunun için aynı (veya etkili bir şekilde aynı) çözüme sahip çok sayıda kaynak var:

=MIN(IF(ISERROR(FIND(CHAR(ROW(INDIRECT("65:90"))),A1)),"",FIND(CHAR(ROW(INDIRECT("65:90"))),A1)))

Ancak, bu olağandışı bir fonksiyon kullanımıdır. Ne yaptığı ve nasıl çalıştığı hakkında tam bir açıklama bulamadım. Bu formülü kendim kullandığımda işe yaramadı.

Birisi bu formülün nasıl çalıştığını açıklayabilir ve neyi yanlış yaptığımı anlayabilir miyim?


Not: 2. revizyon kendi cevabımı içermektedir. Orijinal versiyon bekletildi ve asıl meseleyi, cevabın yazının "soru" kısmına dahil etmem oldu. Eğer soru bekletilirse, cevabı bir cevap haline getirip bu notu silerim.


@ fixer1234, şimdi cevabımı cevap olarak ekleyebilir miyim? Yapılması gereken doğru şey bu mu?
Pateksan

1
Kesinlikle! Göreyim seni. :-)
fixer1234

Yanıtlar:


0

Dizi formülünün arkasındaki mekanizmayı basitleştirmek için, ilk büyük harfin dizgide dizesini döndürmek için, sizinkilere göre basit bir formül kullandım, yöntemi gerçekleştirmenize yardımcı olacak.

{=MATCH(1,(CODE(MID(B2,ROW($A$1:$A$255),1))<=90)*(CODE(MID(B2,ROW($A$1:$A$255),1))>=65),FALSE)}

Formül nasıl çalışır:

  • Bu bir Dizi Formülü olduğundan, bitmesi gerekiyor Control+Shift+Enter.
  • Formül, büyük harfin 255 karakterden fazla olmayacağını varsayar.
  • İle Match, 1 is for TRUE.
  • CODE(MID(B2,ROW($A$1:$A$255),1)), dizeyi oluşturan ASCII karakterleri dizisini döndürür, 255 öğe dizisini döndürür.

Diyelim ki B2değer TxtDate.

  • Sonra Formül {84;120;116;68;97;116;101},.

CODE(MID(B2,ROW($A$1:$A$255),1))<=90, bir dizi döndürür TRUEve FALSEASCII kodunun 90'a eşit veya daha küçük olup olmadığına dayalı olarak döner , burada 90, büyük Z için ASCII kodudur ve geri döner.

{TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE}

Burada ilk alfabe T90'ın altında bir ASCII koduna sahiptir.

Formülün 3. kısmı, 65'ten büyük veya ona eşit ASCII kodlarını kontrol eder; 65, büyük harf A içindir, daha sonra ilk dizi ile çarpılan benzer bir dizi döndürür.

Excel'de, FALSEeşittir zerove TRUEeşittir one. Formül bu dizi dizisini çarptıktan sonra, birlikte bir dizi alır Ones & Zeros. Bunun gibi görünüyor.

{1;0;0;1;0;0;0}

Gösteriler, 1 ve 4 konumundaki büyük harflerdir. Şimdi Formül MATCH function, dizideki ilk Büyük Harfleri bulmak için kullanır ve geri döner 1.

Yukarıdaki açıklama örneğinin, Formula'nın nasıl çalıştığını anlamanıza yardımcı olacağına inanıyorum.

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.