Excel'de Veri Ters Çevirme: Basit Tablolardan Ayna Metne Kadar
Excel'de bir sütun veya satırdaki verilerin sırasını ters çevirmek için negatif sıralama düzeniyle SORT işlevini veya INDEX ve ROWS kombinasyonunu kullanın. Bir hücre içindeki metni aynalamak için TEXTJOIN içeren bir dizi formülü veya VBA üzerinde özel bir işlev gerektirir. Aşağıda her görev için hazır çözümler sunulmaktadır.
Yöntemlere Hızlı Bakış
Yöntem seçimi veri türüne ve Excel sürümüne bağlıdır:
| Görev | En İyi Yöntem | Zorluk |
|---|---|---|
| Listeyi (sütunu) ters çevirme | SORT(..., -1) formülü | Kolay |
| Satırı yatay olarak ters çevirme | INDEX + COLUMNS formülü | Orta |
| Metni aynalama (abc → cba) | Dizi formülü veya VBA | Zor |
| Satır ve sütunların yerini değiştirme | Transpoze etme (TRANSPOSE) | Kolay |
Önemli: Aşağıdaki tüm formüller güncel Excel sürümlerinde (Microsoft 365, 2021, 2019) çalışır. Eski sürümlerde bazı dizi formülleri Ctrl+Shift+Enter ile onaylanmasını gerektirir.
Sütunda Satır Sırasını Nasıl Ters Çevirirsiniz
En sık karşılaşılan görev, bir listenin sırasını "yukarıdan aşağıya" yerine "aşağıdan yukarıya" olacak şekilde değiştirmektir.
Yöntem 1: SORT İşlevi (Excel 365 ve 2021+ için)
Bu en hızlı yöntemdir. Kaynak veriler değiştiğinde dinamik olarak güncellenir.
Formül:
=SORT(A2:A10; 1; -1)
A2:A10— veri aralığınız.1— aralığın ilk sütununa göre sıralama.-1— sıralama düzeni (azalan).
Listede bir başlık varsa, yalnızca başlıksız verileri seçin, aksi takdirde başlık alfabetik/sayısal sıralamada listenin sonuna "uçabilir". Giriş sırasını korumak için INDEX yöntemini kullanmak daha iyidir.
Yöntem 2: Evrensel INDEX Formülü (Tüm Sürümler İçin)
Bu yöntem, hücre değerlerini yoksayarak tam olarak konum sırasını değiştirir (büyüklüğe göre sıralanmaması gereken tarihler veya numaralı listeler için idealdir).
Bu formülü yeni sütunun ilk hücresine yapıştırın ve aşağıya doğru uzatın:
=INDEX($A$2:$A$10; ROWS($A$2:$A$10) - ROW(A1) + 1)
Mantık: Formül, sonuçtaki ilk satır için aralığın sonundaki öğeyi, ikinci satır için sondan bir önceki öğeyi alır ve bu şekilde devam eder.
Satırı Nasıl Ters Çevirirsiniz (Yatay Ters Çevirme)
Bir satırdaki öğelerin yerlerini değiştirmek için (ilk öğe sonuncu olur, sonuncu ilk olur), COLUMNS işlevi ile benzer mantığı kullanın.
Sonuç hücresi için formül (sağa doğru uzatılacak):
=INDEX($A$1:$E$1; COLUMNS($A$1:$E$1) - COLUMN(A1) + 1)
Burada $A$1:$E$1 kaynak satırdır. Mutlak başvurular ($), formül kopyalanırken aralığın kaymaması için zorunludur.
Hücre İçindeki Metni Nasıl Ters Çevirirsiniz (Aynalama)
Excel'de REVERSE() gibi yerleşik bir işlev yoktur, bu nedenle çözüm becerilerinize bağlıdır.
Seçenek A: Dizi Formülü (Makrosuz)
Kısa dizeler için uygundur. Formülü girin ve Enter (yeni sürümlerde) veya Ctrl+Shift+Enter tuşlarına basın:
=TEXTJOIN("" ; TRUE ; MID(A1; LEN(A1) - ROW(INDIRECT("1:"&LEN(A1))) + 1; 1))
Not: İngilizce sürümde işlevleri değiştirin: TEXTJOIN, TRUE, MID, LEN, ROW, INDIRECT.
Formül, metni sağdan sola karakter karakter ayırır ve yeniden birleştirir.
Seçenek B: Özel VBA İşlevi (Büyük Hacimler İçin Önerilir)
Çok fazla metin işlemek gerekiyorsa, formül yavaşlayacaktır. Kendi işlevinizi oluşturmak daha iyidir:
Alt+F11tuşlarına basın, Insert > Module seçeneğini seçin.- Kodu yapıştırın:
Function RevText(txt As String) As String
RevText = StrReverse(txt)
End Function
```
3. Tabloya dönün ve normal bir formül gibi kullanın: `=RevText(A1)`.
Makro içeren dosya .xlsm formatında (Makro Destekli Excel Çalışma Kitabı) kaydedilmelidir, aksi takdirde kod kaybolur.
Transpoze Etme: Satırları Sütunlara ve Tam Tersine
Göreviniz sadece sırayı ters çevirmek değil, bir satırı sütuna (veya tam tersine) dönüştürmekse, transpoze etmeyi kullanın.
- Formül aracılığıyla:
=TRANSPOSE(A1:C5). Sonuç, gerekli boyuttaki alanı otomatik olarak doldurur. - Pano aracılığıyla:
- Aralığı kopyalayın (
Ctrl+C). - Boş bir hücreye sağ tıklayın.
- "Transpoze" simgesini (açılı oklar) seçin veya
Ctrl+Alt+Vtuşlarına basıp ilgili onay kutusunu seçin.
- Aralığı kopyalayın (
Sık Yapılan Hatalar
- Aralık Kayması: Formülleri uzatırken kaynak aralığı dolar işaretleriyle (
$A$1:$A$10) sabitlemeyi unutursunuz. Sonuç olarak, formül boş hücrelere başvurmaya başlar. - Biçimlendirme Kaybı: Formüller yalnızca değerleri döndürür. Renkler, yazı tipleri ve kenarlıklar kopyalanmaz. Bunları ayrı olarak ayarlamanız veya özel yapıştırma kullanmanız gerekir.
- #REF! Hatası: Ters çevrilmiş diziyi, dinamik taşmayı engelleyen verilerin zaten bulunduğu bir alana çıkarmaya çalıştığınızda ortaya çıkar (Excel 365'te). Formülü girmeden önce komşu hücreleri temizleyin.
SSS
Verileri formül kullanmadan ters çevirebilir miyim? Evet, tek seferlik bir işlem için numaralandırma (1, 2, 3...) içeren yardımcı bir sütun ekleyin, tabloyu bu sütuna göre azalan şekilde sıralayın ve ardından yardımcı sütunu silin.
Metni nasıl ters çeviririm ama formüllerin çalışır durumda kalmasını sağlarım? Bunu standart araçlarla yapmak zordur. Bir hücre formül içeriyorsa, sonucu yalnızca VBA aracılığıyla ters çevirebilir veya değeri başka bir hücreye kopyalayıp orada işleyip geri döndürebilirsiniz (değer olarak).
Bu Google E-Tablolar'da çalışır mı?
Evet, SORT, INDEX, TRANSPOSE ve TEXTJOIN işlevleri benzer şekilde çalışır. Google Apps komut dosyalarında StrReverse işlevi de mevcuttur.