Зиак залуучууд амралтын өдрийн мэнд хүргэе. Цагаан сар болох гээд хот маань хөдөлгөөнд оржээ. Замын түгжирэлээс шалтгаалж нааш цааш явахад ч хэцүү болсон байна. Өнөөдрийнхөө нийтлэлээр та бүхэндээ нэгэн уншигчаас ирсэн асуултанд хэрхэн хариулж, шийдвэрлэсэн талаар бичихээр шийдлээ. Та бүхэн текстэн мэдээллийг ерөнхий зүй тогтол нь өгөгдсөн тохиолдолд LEFT, RIGHT, MID функцүүдийг ашиглаж хоёр хэсэгт салгаж чадна байх. Тэгвэл өнөөдрийн маань нийтлэл ерөнхий зүй тогтол нь далд хэлбэрт байгаа мэдээллийг хэрхэн хоёр хэсэгт хуваах тухай өгүүлэх юм. Энэхүү нийтлэл ашиглагдаж байгаа томъёо функцүүдийн талаар та бүхэн манай сайтнаас мэдээлэл авах боломжтой ба мөн ФУНКЦ-XL номноос ашиглагдаж буй функцүүдийн хэрэглээ ашиглалтын талаар дэлгэрэнгүй мэдээлэл авч болно.
Үүссэн асуудал:
Бидэнд Excel программын A1:A11 мужид дараах мэдээлэл өгөгдсөн байна.
Тус мэдээллийг C1:D11 мужид үзүүлсэнтэй адилаар хоёр хэсэгт хуваах шаардлагатай болсон. Дээрх мэдээлэл хуваагдаж буй гол түлхүүр нь F, M, X гэсэн үсэгний ар талаар хуваагдаж байгаа болно. Асуудлыг хэрхэн шийдсэн талаар одоо та бүхэндээ танилцуулъя.
Асуудлыг шийдвэрлэсэн нь:
Дээрх асуудлыг бид Excel программын TEXT-тэй ажилладаг LEN, RIGHT, SEARCH, LEFT зэрэг функцүүдээр шийдэж чадна. Юуны өмнө өгөгдсөн мэдээллийн зүй тогтлыг ажиглая.
- Бидэнд өгөгдсөн мэдээлэлд тоо болон үсгэн мэдээлэл агуулагдаж байна.
- Бидэнд өгөдсөн мэдээлэл хэмжээс буюу нэг нүдэнд агуулагдах тэмдэгтийн тоо өөр өөр байна.
- Өгөгдсөн мэдээллийн дунд хэсэгт агуулагдаж буй тооны төгсгөлд M, F, X гэсэн 3 төрлийн үсэг байна.
- Өгөгдсөн мэдээллийн дунд хэсэгт агуулагдаж буй тоон мэдээллийн байршил тодохойгүй хувьсаж байна.
Тэгэхээр бидэнд өгөгдсөн даалгаварыг гүйцэтгэх хамгийн чухал зүй тогтол бол 3 дахь зүй тогтол юм. Өөрөөр хэлбэл мэдээллийн дунд хэсэгт байршиж буй тоон мэдээллийн төгсгөлд M, F, X гэсэн 3 төрлийн үсэг байгаа явдал юм.
Бидний даалгавар бол энэ 3 үсэгний ар талын мэдээллийг салгаж авах явдал юм. Иймээс нэн тэргүүнд M, F, X гэсэн 3 төрлийн үсгийг өмнөх тооных нь хамтаар өгөгдсөн мэдээлэлд байршиж буй байршлыг нь тогтооё. Үүний тулд бид дараах мэдээллийг E1:E30 мужид урьдчилан бэлтгэнэ.
0F, 1F, 2F, 3F, 4F, 5F, 6F, 7F, 8F, 9F, 0M,
1M, 2M, 3M, 4M, 5M, 6M, 7M, 8M, 9M,
0X, 1X, 2X, 3X, 4X, 5X, 6X, 7X, 8X, 9X
Энэ талаар дараах зурагт үзүүлэв.
Үүний дараагаар SEARCH функц ашиглаж E1:E30 мужид байршиж буй мэдээллүүд A1 нүдэнд байгаа мэдээллийн хэд дэх тэмдэгт болж байгааг C1 нүдэнд тодорхойлно.
=SEARCH(E1:E30,A1)
Дээрх томьёоны үр дүнг Ctrl+Shift+Enter гэсэн коммандаар гаргах ба үр дүн #VALUE! гэсэн алдаа заана. Гэвч бидний бичсэн энэхүү томъёо нь Array төрлийн томъёо тул #VALUE! алдаа нь томъёоны эхний үр дүн юм. Тухайн нүдэнд бусад үр дүнгүүд агуулагдаж байгаа бөгөөд F9 товчний тусламжтайгаар бусад үр дүнг харж болно.
{#VALUE!;#VALUE!;#VALUE!;9;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;
#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;
#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;
#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!}
Бидний бичсэн томъёоны 4 дэх үр дүн 9 гэсэн хариуг гаргасан байна. Өөрөөр хэлбэл 3F гэсэн мэдээлэл A1 нүдэнд агуулагдаж буй мэдээллийн 9 дэх тэмдэгт болон орсон байна гэдгийг илтгэж буй хэрэг юм.
A1=G4SCNY753FMN240
Бидний гол зорилго бол 3F гэсэн тэмдэгтийн дараагийн тэмдэгтээр (манай жишээний хувьд M тэмдэгт) мэдээллүүдийг салгах учраас гарсан үр дүн дээр 1-ийг нэмж өгнө. Ингэснээр салгах мэдээллийн байршил тодорхой болно. Үр дүнг үзүүлэв.
{#VALUE!;#VALUE!;#VALUE!;10;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;
#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;
#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;
#VALUE!;#VALUE!;#VALUE!;#VALUE!}
Бидний томъёоны 4 дэх үр дүн 10 болж хувирсан байна. Өөрөөр хэлбэл 10 дахь тэмдэгтээр мэдээллийг салгана гэсэн үг юм.
A1=G4SCNY753FMN240
Одоо томъёоны үр дүнд гарсан #VALUE! алдааг IFERROR функцийн тусламжтайгаар 0 болгож хувиргая. Үүний тулд бид томъёог дараах байдлаар өргөтгөнө.
=IFERROR(SEARCH(E1:E30,A1)+1,0)
Дээрх томъёоны үр дүн дараах байдлаар өөрчлөгдөнө.
{0;0;0;10;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0}
Бүх #VALUE! алдаа 0 болж хувирсан байна. Тэгэхээр бидэнд зөвхөн 10 гэсэн тоо л хэрэгтэй байгаа учраас томъёоллыг MAX функцээр өргөтгөж, 10 гэсэн тоог гаргаж авая.
=MAX(IFERROR(SEARCH(E1:E30,A1)+1,0))
Үр дүнг мэдээж Ctrl+Shift+Enter коммандаар гаргана. За ингээд мэдээллийг таслах цэгийн байршил тодорхой болсон тул одоо дээрх томъёог RIGHT болон LEN функцээр өргөтгөж, мэдээллийг 2 хэсэгт хуваая.
=RIGHT(A1,LEN(A1)-MAX(IFERROR(SEARCH($E$1:$E$30,A1,4)+1,0)))
Үр дүнг Ctrl+Shift+Enter коммандаар гаргана. RIGHT функц нь мэдээллийн баруун гар талаас өгөгдсөн тооны дагуу тэмдэгт тасдаж авах зориулалттай функц гэдгийг та бүхэн мэдэж байгаа байх. Харин LEN функц нь тухайн нүдэн хэдэн тэмдэгт байгаа тоолох зориулалттай функц. Тиймээс нийт тэмдэгтийн тооноос мэдээлэл таслах байршлын тоог хасахад бидний хүссэн үр дүн гарах болно.
Зиак ингээд эхний үр дүнг гаргаж авч чадсан учраас шаардлагатай мужуудыг бэхэлж, бусад мэдээллийг хоёр хэсэгт хуваая. Томъёонд бэхлэх шаардлагатай нь E1:E30 мужийн мэдээлэл байх ба бэхэлгээ хийсэн томъёог доор үзүүлэв.
=RIGHT(A1,LEN(A1)-MAX(IFERROR(SEARCH($E$1:$E$30,A1)+1,0)))
C1 нүдэнд бичигдсэн томъёог C2:C11 мужид Copy/Paste хийнэ. Үр дүнг дараах зурагт үзүүлэв.
За ингээд бидний хүссэн үр дүн C1:C11 мужид гарч бэлэн боллоо.
Одоо бид мэдээллийн зүүн гар талын хэсгийг тасдаж авах шаардлагатай. Бид үндсэн мэдээлээс баруун гар талын хэсгийг тасдан авч чадсан болохоор одоо үлдсэн зүүн гар талын хэсгийг хялбархаан авах боломжтой юм. Энэ тохиолдолд бид мэдээж LEFT болон LEN фунцкийг ашиглана.
=LEFT(A1,LEN(A1)-LEN(C1))
Нийт тэмдэгтийн тооноос баруун гар талын тасдан авсан тэмдэгтийн тоог хасахад үлдсэн нь зүүн гар талын тэмдэгт байна. Ингээд асуудал хялбархан шийдэгдлээ. Та бүхэн туршаад үзээрэй. Амжилт хүсье.
Сэтгэгдэл үлдээх