Олон удаа давтагдсан бичлэг бүхий жагсаалт байсан. Бидний зорилго жагсаалтаас нэрүүдийг давтагдахгүй байдлаар ялган өөр хүснэгтэд оруулах болно.
Давтагдахгүй бичлэгийг динамик байдлаар томьёо ашиглан татах нь жагсаалтад бичлэг нэмэх эсвэл засварлах үед давхардаагүй нэрсийн жагсаалт шууд (динамикаар) өөрчлөгдөж байдгаараа ашигтай. Давтагдаагүй бичлэгийг томьёо ашиглахгүйгээр хэрхэн татахыг Жагсаалтаас давтагдаагүй бичлэгийг татах хичээлээс үзэж болно.
Эхлээд жагсаалтын давтагдаагүй нэрүүдэд дугаар олгоно. (зураг дээр A багана) Үүний тулд A2 нүдэнд =IF(COUNTIF(B$1:B2,B2)=1,MAX(A$1:A1)+1,"") гэсэн томьёог оруулна. Манай жагсаалт нэмэгдэх боломжтой тул жагсаалт байх хэсгийг 50 мөрөөр тооцъё. A2 нүдний томьёог жагсаалтын төгсгөл хүртэл хуулна. Өөрөөр хэлбэл A51 нүд хүртэл хуулна. Томьёо нь тухайн нүдний өгөгдөл нь жагсаалтад хэдэн удаа орсон байгааг (жагсаалтын эхнээс тоолохын тулд B$1 гэсэн шууд холбоос хийснийг анхаараарай) тоолоод анхны удаа (=1) бол түүнд өсөх дарааллаар (MAX(A$1:A1)+1) дугаар олгоно.
Хаяглалыг амархан болгохын тулд хэсгүүдэд нэр олгоё. Манай жагсаалтын хэсэг нийтдээ 50 мөр учраас
- Дугаарын хэсэгт (A1:A50) – NameCount
- Бүх жагсаалтад (A1:B50) – NameList
нэрүүдийг Formulas -> Defined Names -> Define Name / Insert -> Name -> Define гэж орон өгье.
Одоо NameList жагсаалтаас дугаар бүхий бүх бичлэгийг татан авах (эдгээр нь жагсаалтын давтагдаагүй нэрүүд) үлдлээ. Үүний тулд хоосон нүдийг сонгоод
=IF(MAX(NameCount)<ROW(1:1),"",VLOOKUP(ROW(1:1),NameList,2)) томьёог оруулаад дараа нь баганы бүх нүдэнд (манай тохиолдолд эхний 50 мөр) хуулна.
Томьёо нь NameCount баганаас дугаар тавигдсан бичлэгүүдийн нэрийг өөр хүснэгтэд бичнэ. ROW(1:1) функц нь тухайн мөрийн дугаарыг буцаана. Жишээ нь ROW(1:1)=1, ROW(5:5)=5 г.м