TRANSPOSE funksiyası – sətirləri sütunlara dinamik şəkildə çevirmə

Transposition haqqında daha öncəki yazımızda məlumat vermişdik. Qısaca təkrar etsək, transpose – yerdəyişmə deməkdir. Həll etmək istədiyimiz problemi anlamaq üçün aşağıdakı cədvələ nəzər yetirək.

Transposition - 1

Fərqli qitələrdə illər üzrə satış məbləğləri olan bir cədvəllə üz üzəyik. Qitələr sütunlarda, illər isə sətirlər yer alır. Bəs cədvəlimizin sətin və sütunlarının yerini dəyişdirmək istəsək nə etməli?

Transposition imkanı məhz bu cür problemlər zamanı köməyimizə çatır. Yuxarıdakı cədvəli aşağıdakı cədvələ saniyələr ərzində çevirməyə yardım edir. (Mövzu ilə daha ətraflı yuxarıdakı linkdən tanış ola bilərsiniz)

Transposition - 2

Lakin, Paste Special vasitəsilə transposition etdiyimiz zaman qarşımıza ciddi problem çıxır – ilk cədvəldə edəcəyimiz heç bir dəyişiklik transpose edilən cədvəldə əks olunmayacaqdır. Çünki bütün dəyərlər (mətn və məbləğlər) adi mətn və rəqəm olaraq gəlir, digər heç bir xanaya istinad verilmir.

Xoşbəxtlikdən, bunun da bir həll yolu var – TRANSPOSE funksiyası.

Digər funksiyalardan fərqli olaraq, bu funksiyanın istifadəsi bir qədər fərqlidir. Gəlin hər bir addımda nələri edəcəyimizə baxaq.

  1. Cədvəlimizi transpose edib yapışdıracağımız aralığı seçirik.
  2. Funksiya sətirinə gedib transpose ediləcək aralığa istinad verərək =TRANSPOSE(B5:H9) yazırıq.
  3. Son olaraq Enter yox, Shift+Ctrl+Enter basırıq. Bu hissəsi çox önəmlidir, çünki adi qaydada Enter bassaq, o zaman formul düzgün işləməyəcək. Shift+Ctrl+Enter ancaq array funksiyaları istifadə edildiyi zaman istifadə olunur.

Gəlin, yuxarıdakı 3 addıma misalımız üzərində baxaq.

capture-1

Yeni düzəltdiyimiz cədvəlin istənilən xanasına gəldiyimiz zaman, funksiya sətirində bu cədvəlin ümumi aralığı görünəcəkdir

Transposition - 3

və cədvəlin hər hansı bir xanasını ayrı-ayrılıqda silmək mümkün olmayacaqdır. Bu, array funksiyalarının ayırdedici özəlliklərindən biridir. Cədvəli ya bütövlükdə silməliyik, ya da ayrılıqda heç bir xanasına toxuna bilməyəcəyik.

Array funksiyasının mövcudluğunu formulun “{ }” işarələri arasında yer almasından da rahatlıqla anlamaq olar.

Bundan belə, ən üstdəki cədvəldə ediləcək hər bir dəyişiklik aşağıdakı cədvəldə avtomatik əks olunacaqdır. Əlavədəki faylda həm statik, həm də dinamik transpose əməliyyatları hazır vəziyyətdə cədvəl olaraq qarşımızdadır. İlk cədvəldə dəyişiklik edərək, transpose edilən cədvəllərdə baş verən / verməyən dəyişiklikləri müşahidə edə bilərik.

P.S. Mövzunun daha rahat anlaşılması baxımından, cədvəllərin formatlarını öncədən istədiyim formaya salmışam. Salmamış olsaydıq, yeni formatlar üzərində əlavə işləmək gərəkəcəkdi.

Uğurlar!

Faylı endir – Dynamic Transposition

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s