Зиак өдрийн мэнд. Манай Exceler-үүдийн ажил төрөл сайн биз дээ. Ойрд ч гадаа жавар тачигнаж, гар хуруу бээрээд, нийтлэл энэ тэрээ бичиж амжсангүй гэж худал шалтаг хэлээд яахав 🙂 🙂 🙂 . Манайхан ч гэсэн ойрдоо зав муутай байгаа байх. Тайлан тооцоо, цагаан сар энэ тэр гээд наагуур цаагуур их л ажилтай байгаа байх. Зиак энэ ч яахав. Яарсаар, давчидсаар байгаад л ямар ч ажлыг зохицуулаад л өнгөрөөчихдэг хойно. За гол асуудалдаа орцгооё. Өнөөдөр миний бие огноотой холбоотой нэг асуудлыг шийднээ.
Үүссэн асуудал
Үүссэн асуудал маань их ойлгомжтой. Надад 2015.01.01-ний өдрөөс 2015.01.31-нийг хүртлэх хугацааны огнооны мэдээлэл өдөр тус бүрээр өгөгдсөн байна. Энэ огнооны дундаас бүтэн сайн өдөрт харгалзах огноонуудыг гаргаж ирэх шаардлага гарсан юм. Гэхдээ зөвхөн Excel томьёо ашиглаж гэдгийг анхааруулая.
Асуудлыг томьёолсон нь:
Дээрх асуудлыг томьёолох хамгийн эхний алхам бол A1:A31 мужид өгөгдсөн огнооны гарагуудыг тодорхойлох ёстой. Өөрөөр хэлбэл 1/1/2016-ний өдөр Баасан гараг, 1/2/2016-ний өдөр Бямба гараг …. гэх мэтчлэнгээр тухай огноонуудад харгалзах гарагуудыг тодрхойлно. Энэ гараг тодорхойлох асуудлыг бид WEEKDAY функцээр D1 нүдэнд тодорхойлно.
=WEEKDAY(A1:A31,2)
WEEKDAY функцийн аргументыг 2 гэсэн утгаар авсан нь Даваа гарагийг 1, Мягмар гарагийг 2 … гэх мэтчлэнгээр Ням гарагийг 7 гэсэн индексээр илэрхийлнэ. Одоо WEEKDAY функцийн үр дүнгээс 7-той тэнцүү үр дүнгүүдийг ялгаж авахын тулд бид IF функцийг дараах хэлбэрээр ашигласан.
=IF(WEEKDAY($A$1:$A$31,2)=7,$A$1:$A$31,””)
Дээрх томьёоны үр дүнг Ctrl+Shift+Enter коммандаар гаргана. D1 нүдэнд томьёон үр дүн хоосон гарах хэдий ч тухайн томьёоны цаана 7-той тэнцүү үр дүнгүүд агуулагдаж байгаа гэдгийг санах хэрэгтэй. Та F9 товчний тусламжтайгаар бусад үр дүнгүүдийг харж болно.
Нэгэнт WEEKDAY функцийн 7-тай тэнцүү утгуудыг IF функцийн тусламжтайгаар тодорхойлж чадсан тул одоо тухайн утгуудыг багаас нь ихрүү эрэмблэх томьёоллыг SMALL функцийн тусламжтайгаар тодорхойлоё.
=SMALL(IF(WEEKDAY($A$1:$A$31,2)=7,$A$1:$A$31,””),ROW(A1))
Энэхүү томьёоны үр дүнг дээрхтэй мөн адил Ctrl+Shift+Enter хосолсон товчоор гаргана. Томьёоны үр дүн 1/1/2016-1/31/2016 өдрийн хооронд дахь хамгийн эхний НЯМ гарагийг тодорхойлно.
Дараагийн НЯМ гарагийн огноог олохын тулд D1 нүдний томьёог D2 нүдэнд хуулна. Гэх мэтчлэнгээр бусад НЯМ гарагийн өдрүүдийг олоходоо D1 нүдний томьёоллыг доош нь хуулах замаар гаргаж ирнэ.
Тэгэхээр 2016 оны 1 дүгээр сард 1/3/2016, 1/10/2016, 1/17/2016, 1/24/2016, 1/31/2016 гэсэн огноонууд НЯМ гараг болж байна. Зиа иймэрхүү байдлаар асуудлыг томьёолж болно. Гэхдээ энэ томьёолол хамгийн оптимал томьёолол гэж ойлгож болохгүй. Та томьёог ямар ч байдлаар шийдэж болно. Гагцхүү таны ур ухаан л мэдэх асуудал.
Өө нээрээ үр дүнгийн доод хэсэг байгаа #NUM! гэсэн алдаанууд муухай харагдаад байж магадгүй. Үүнийг та IFERROR функцийн тусламжтайгаар арилгаж болно шүү дээ. Өөрөөр хэлбэл та дээрх томьёог дараах байдлаар өргөтгөж болно гэсэн үг.
=IFERROR(SMALL(IF(WEEKDAY($A$1:$A$31,2)=7,$A$1:$A$31,””),ROW(A1)),””)
Зиак ингээд асуудал шийдэгдлээ. Та бүхэнд амжилт хүсье.
Сэтгэгдэл үлдээх