Зиак оройн мэнд Exceler-үүдээ. Миний бие өнөөдрийнхөө нийтлэлээр манай сайтын уншигч нэгэн инженерт тулгарсан асуудлыг хэрхэн шийдвэрлэсэн тухай нийтлэл бичихээр шийдсэн юм. Энэхүү нийтлэл маань манай Exceler-үүдэд шууд агуулгаараа тийм ч ач холбогдолтой биш ч гэсэн тухайн асуудлыг хэрхэн шийдэж байгаа арга техникүүд нь та бүхэнд хэрэг болно гэдэгт итгэлтэй байна. Өнөөдрийн нийтлэлийн маань ерөнхий агуулга нь өгөгдсөн цэгүүдийн өөр хоорондын зайнд нөхцөл тавьж шалгах тухай нийтлэл юм. Зиак ингээд эхэлцгээе.
Үүссэн асуудал
Манай инженерт графикын X, Y тэнхлэгийн 4 мянга гаруй хос цэгүүд өгөгдсөн байгаа юм. Өөрөөр хэлбэл 2 утга нийлээд нэг цэгийг үүсгэнэ. Та бүхэн энэ талаар мэднэ дээ. 10 жилийн геометрийн хичээл дээр өгөгдсөн цэгийн дагуу график байгуулах алхам юм. Энэ талаар дараах зурагт тоймлон үзүүлэв.
Инженерт байгаа мэдээллийг дараах зурагт СКАТТЕР графикаар илэрхийлэв.
Гол асуудал нь ямар ч 2 цэгийн хоорондын зай нь 5 мм-ээс бага байвал аль нэг цэгийг нь устгах явдал юм. Хоёр цэгийн хоорондын зайг дараах тоьёогоор байдлаар олдог.
Жишээлбэл Excel программын A2:B3 мужид 2 цэг өгөгдсөн ба тэдгээрийн хоорондын зайг олоё. Үр дүнг хэрхэн олсон талаар дараах зурагт үзүүлэв.
Тэгэхээр 4 мянга гаруй цэгүүдийг өөр хооронд нь харьцуулж, 5 мм-ээс бага байгаа эсэхийг шалгана. Хэрэв 2 цэгийн хоорондын зай 5 мм-ээс бага байвал аль нэг цэгийг нь устгана. Энэ асуудлыг хэрхэн шийдэх талаар одоо тайлбарлая.
Асуудлыг шийдвэрлэсэн нь
Асуудлыг шийдвэрлэхээс өмнө мэдээллийг багасгаж, хялбаршуулая. Өөрөөр хэлбэл дурын 10 цэгийг сонгон авч, тэдгээрийн хоорондын цэгийг Excel программ дээр тодорхойлох томьёоллыг бичие. Сонгож авсан 10 цэгийг дараах зурагт үзүүлэв.
Эдгээр 10 цэгийн хоорондын зайг нэг бүрчлэн гаргана. Өөрөөр хэлбэл 10 x 10 = 100 гэсэн үг. Цэг тус бүрийн хоорондын зайг гаргахдаа мэдээллийг дараах матриц хэлбэрт шилжүүлэнэ.
Одоо дараах томьёогоор цэг тус бүрийн хоорондын зайг тодорхойлно.
=SQRT((C$1-$A3)^2+(C$2-$B3)^2)
Өгөгдсөн 10 цэг тус бүрийн хоорондын зайг тодорхойлсон учраас одоо 0-ээс 5 мм-ийн (0 болон 5 мм тэнцүү зайнууд орохгүй) хоорон дахь цэгүүдийг олно. Тус цэгүүдийг M багананд дараах томьёогоор олно.
=COUNTIFS(C3:L3,”>”&0,C3:L3,”<“&5)
Дээрх томьёоллын үр дүнгийн хувьд хэрэв тухайн мөрөнд харгалзах цэг бусад ямар нэг цэгтэй 0-ээс 5 мм-ийн зайнд ойрхон байвал 0-ээс ялгаатай бүхэл тоон утга гарна. Хэрэв хол зайтай бол 0 гэсэн утга авна. Нэгэнт 0-ээс 5 мм-ийн хооронд агуулагах зайнууд байгаа эсэхийг M багана дээр олсон учраас одоо М баганаас 0-тэй тэнцүү утгуудыг шүүлт хийгээд үр дүнгээ гаргаж авна.
Ингээд л үр дүн маань гараад ирлээ. 5 мм-ээс хол зайтай 3 цэг байгааг бид олж чадлаа. Одоо та бидний хамгийн сайн хийдэг COPY/PASTE комманд л үлдлээ. Яг үүнтэй адил зарчмаар 4000 мэдээллээс 5 мм-ээс хол зайтай цэгүүдийг олно. Үр дүнг нэлээн хурд хүч сайтай компьютер дээр тооцоолохгүй бол таны компьютер гацаж магадгүй юм. Учир нь бид 4,000 х 4,000 = 16,000,000 ширхэг мэдээлэлтэй ажиллана гэсэн үг. Энэ нь тухайн Excel файл 250 орчим мегабайт хэмжээтэй болно.
Дээрх тооцооллийн үр дүнд үндсэн мэдээллийн хувьд 5 мм-ээс хол зайтай 694 цэг олдсон. Үр дүнг графикт үзүүлэв.
Өмнөх үр дүнтэй харьцуулахад графикын нягташил нь багассан буюу арай сийрэг харагдаж байна. Бидний сая авч үзсэн арга бол энгийн механик арга. Excel программын стандарт томьёо функцүүдийг ашиглах замаар асуудлыг шийдсэн. Үүнээс илүү сайн арга байвал та бүхэн СЭТГЭГДЭЛ хэсэгт санал болгоорой. Харин дараагийн нийтлэлээр дээрх үйлдлийг VBA код ашиглах замаар хэрхэн автоматжуулж болох талаар бичих болно.
Хэрэв та бүхэн дээрх асуудлыг дагаж хийхийг хүсвэл ЭНД дарж үндсэн мэдээлэл бүхий Excel файлыг аваарай.
Сэтгэгдэл үлдээх
uu yostoi ih bayrlalaa mash heregtei niitlel bn daraa daraagin uda iim turlin niitlel hiiwel sn bn