Томьёоны шийдэл

Зиак оройн мэнд. Ээлжит нэгэн нийтлэлээ бичие. Манай нэг идэвхтэн гишүүн өдөр над дээр ирээд нэг асуудал шийдүүлсэн юм. Тухай асуудал сонирхолтой санагдаад энэ асуултаар нийтлэл бичихээр шийдлээ. Хэдийгээр үүссэн асуудал нийтлэг бус, хэрэгцээгүй мэт санагдавч асуудлыг хэрхэн шийдэж байгааг сайтар судлаарай. Excel дээр ажиллаж байгаа хүн болгонд ямарваа нэгэн асуудлууд байнга тулгардаг. Тэр асуудлыг шийдэх чадамж Excel программд байдаг юм шүү. Зиак ингээд нийтлэлээ эхэлцгээе.

Зар сурталчилгаа

Бидэнд дараах мэдээлэл өгөгдсөн байна.

FS_1

Энэ мэдээллээс D1 нүдэнд нэг огноо сонгож оруулахад, A баганын тухайн огноонд харгалзах мэдээллийг B баганаас тодорхойлж E1 нүдэнд гаргана. Хэрэв тухайн огноонд харгалзах B баганын нүд хоосон байвал B багана дахь өмнөх мэдээллүүдийн хамгийн сүүлийн мэдээллийг хариу болгож авна.

FS_2

Жишээлбэл D1 нүдэнд 1/11/2015 гэсэн огноог оруулъя. Тэгвэл E1 нүдэнд 988 гэсэн тоо гарах ёстой. Яагаад гэвэл 1/11/2015 гэсэн огноонд харгалзах мэдээлэл байна. Тэгвэл D1 нүдэнд 1/9/2015 гэсэн огноог оруулая. E1 нүдэнд B багана дахь өмнөх мэдээллүүдийн хамгийн сүүлийн утга буюу 377 гэсэн хариу гарах ёстой. Энэ асуудлыг хэрхэн томьёолох талаар одоо тайлбарлая.

Нэн тэргүүнд D1 нүдэнд оруулсан огноо нь A баганын хэд дэх мөрөнд байгааг тодорхойлно. Үүнийг MATCH функцийн тусламжтайгаар тодорхойлно.

Зар сурталчилгаа

=MATCH(D1,A1:A12,1)

FS_3

Үр дүн мэдээж 12 гэж гарна. Учир нь 1/11/2015 гэсэн огноо нь 12-р мөрөнд байна. Үүний дараагаар энэ үр дүнг ашиглаж, B багананд INDIRECT функцээр зохиомол муж үүсгэнэ.

=INDIRECT("B1:B"&E1)

FS_4

Хэрэв D1 нүдэнд 1/7/2015 гэсэн огноо оруулсан бол E2 нүдний үр дүн B1:B7 муж болж өөрчлөгдөнө. Гэх мэтлэнгээр хувьсах муж үүсгэсэн гэсэн үг. Одоо хувьсах мужид агуулагдах мэдээллээс хамгийн сүүлийн утгыг VLOOKUP функцийн тусламжтайгаар тодорхойлно.

=VLOOKUP(9999999999999,INDIRECT("B1:B"&E1),1,TRUE)

FS_5

Энд VLOOKUP функцийг TRUE төлвөөр ашигласан байгааг анхаараарай. Өөрөөр хэлбэл 99999999999 гэсэн утгыг хувьсах мужаас хайна. Хэрэв энэ тоо байхгүй бол үүнээс бага утгуудын хамгийн их утгыг хувьсах мужаас хайж олно гэсэн үг. Та бүхэн VLOOKUP функцийн хэрэглээний талаар ЭНЭ ЛИНК-ээр орж уншаарай. Зиак ингээд томьёолол маань бэлэн боллоо. Одоо шалгаж үзье.

D1 нүдэнд 1/11/2015 гэсэн огноо оруулахад үр дүн 988 гэж гарч байна. Яагаад гэвэл D1 нүдэнд бичигдсэн огнооны B багана дахь харгалзах мэдээлэл хоосон биш, 988 гэсэн утга агуулж байна.

FS_6

Тэгвэл 1/9/2015 гэсэн огноог D1 нүдэнд бичие. Тэгвэл үр дүн 377 гэсэн утга гарах ёстой. Яагаад гэвэл 1/9/2015 гэсэн огноонд харгалзах B баганын нүд хоосон байна. Иймээс өмнөх мэдээллүүдийн хамгийн сүүлийн утгыг хариу болгож авна. Үр дүнг дараах зурагт үзүүлэв.

FS_7

Зиак ингээд томьёолол маань зөв ажиллаж байна. Одоо бичсэн хоёр томьёог нэгтгэж, E1 нүдэнд оруулъя. Өөрөөр хэлбэл MATCH функцийг INDIRECT функцийн E1 нүдний оронд байршуулна.

=VLOOKUP(9999999999999,INDIRECT("B1:B"&MATCH(D1,A1:A12,1)),1,TRUE)

FS_8

Ингээд томьёолол маань бэлэн боллоо. Асуудал шийдэгдэв. Энэ асуудлыг шийдэх өөр ямар нэгэн хувилбар байвал та бүхэн СЭТГЭГДЭЛ хэсэгт өөрийнхөө шийдлийг бичээрэй. Амжилт хүсье.

Зар сурталчилгаа

Бусадтай хуваалцах

8 Responses to Томьёоны шийдэл

  1. orgil хэлдэг:

    hi иймэрхүү шийдлүүдийг нийтлэж байгаад баярлалаа.
    Мэдээж өөр олон асуудлууд шийдлээ хүлээгээд байж байгаа болохоор нээлттэйгээр байршуулвал бас сонирхолтой санаанууд гарж ирэх байхдаа.

  2. oogii хэлдэг:

    Нэг иймэрхүү асуудал гараад байдаг юм аа. туршиж үзэж байгаа юм.
    =INDIRECT(“B1:B”&E1) энэ дээр алдаа гарчаад болдоггүй ээ

  3. Otgonbaatar хэлдэг:

    Би 2007 хэрэглэдэг. Хэрэглэж байгаа Office оос болоод ч юм уу хичээл дээр байгаа командууд ажиллахгүй байна гэж байх уу?

    • Excelmn хэлдэг:

      Сайна уу. Отгонбаяр. Мэдээж тиймэрхүү тохиолдолууд байдаг. Гэхдээ ховор. 2007-оогоо 2010 эсвэл 2013-аар солиод нэг үзээрэй.

  4. ganb хэлдэг:

    =INDEX(A:B,MATCH(d1,A:A,0),2)

  5. GTI хэлдэг:

    Сайн уу
    энэ шиг баганы утгаас ижил утгыг олох замаар текст яаж олдог юм бол ?
    Нэг sheet ээс = гээр татдаг шиг

  6. GTI хэлдэг:

    Сайн уу
    энэ шиг баганы утгаас ижил утгыг олох замаар текст яаж олдог юм бол ?
    Нэг sheet ээс нөгөө рүү = гээр татдаг шиг

Хариулт үлдээх

Таны и-мэйл хаягийг нийтлэхгүй.

shares