Excel formülü: XLOOKUP sütunları yeniden düzenleme -

İçindekiler

Genel formül

=XLOOKUP(neworder,oldorder,XLOOKUP(val,lookup,results))

Özet

XLOOKUP, bir XLOOKUP'ı diğerinin içine yerleştirerek sütunları yeniden sıralamak için kullanılabilir. Gösterilen örnekte, G9'daki formül şöyledir:

=XLOOKUP(G8:J8,B4:E4,XLOOKUP(G5,E5:E15,B5:E15))

Bu, G5'teki değerde, 4 alanın tümü farklı bir sırayla olacak şekilde bir eşleşme döndürür.

Açıklama

Bu formül, bir XLOOKUP'ı diğerinin içine yerleştirerek, XLOOKUP'ı iki kez kullanır. İlk (iç) XLOOKUP, G5'teki değer üzerinde tam bir eşleşme araması gerçekleştirmek için kullanılır:

XLOOKUP(G5,E5:E15,B5:E15)

  • Aranan_değer, G5 hücresinden gelir
  • Arama_dizisi E5: E15 (kodlar)
  • Dönüş_dizisi B5: E15'tir (tüm alanlar)
  • Match_mode sağlanmaz ve varsayılan olarak 1'dir (tam eşleşme)
  • Search_mode sağlanmamıştır ve varsayılan olarak 1'dir (ilkden sonuncuya)

Sonuç, "AX-160" üzerindeki bir eşleşmedir ve orijinal sırayla dört alanın tamamının bir dizisi olarak döndürülür:

(160,130,60,"AX-160")

Bu sonuç doğrudan ikinci (dış) XLOOKUP'a dönüş dizisi bağımsız değişkeni olarak gönderilir. Arama değeri, alanların yeni sırasını temsil eden bir aralık olarak sağlanır ve arama dizisi, orijinal alan adı sırasını içeren aralıktır.

=XLOOKUP(G8:J8,B4:E4,(160,130,60,"AX-160"))

  • Aranan_değer, G8: J8 aralığıdır (yeni alan sırası)
  • Arama_dizisi, B4: E4 aralığıdır (eski alan sırası)
  • Dönüş_dizisi, ilk XLOOKUP sonucudur

Bu zor kısım. Birden çok arama değeri aktarıyoruz, bu nedenle XLOOKUP dahili olarak birden çok eşleşme konumunu hesaplayacaktır. Yeni alan sırası aralığındaki her değer için, XLOOKUP, eski alan sırası aralığı içinde bir konum bulur ve bu konumu, dönüş dizisinden bir değer almak için kullanır (ilk XLOOKUP işlevi tarafından döndürülen değerler). Sonuç, yeni sıraya göre düzenlenmiş alanlara sahip orijinal arama sonucudur.

Ilginç makaleler...