:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

การแยกสตริง แบบหลายเงื่อนไขหลายส่วน

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
tstc79tt
Member
Member
Posts: 83
Joined: Tue Nov 13, 2012 4:39 pm

การแยกสตริง แบบหลายเงื่อนไขหลายส่วน

#1

Post by tstc79tt »

คือผม มี ชื่อไฟล์ประมาณนี้ครับ

nspluginwrapper-1.4.4-1.el6_3.x86_64.rpm

nspluginwrapper 1.4.4-1 el6_3 x86_64

ผมได้ทดลองแล้วแต่ก็ทำได้แค่ ตัดชื่อออกมาอันเดี่ยวเท่านั้นเองครับ

ในไฟล์มีชื่อให้ทดลองยุครับ

nspluginwrapper-1.4.4-1.el6_3.x86_64
kbd-1.15-11.el6.noarch
boost-regex-1.41.0-11.el16_1.2.x86_64
nspluginwrapper-1.3.0-14.el6_3.x86_64
kernel-debuginfo-common-2.6.18-308.13.1.el5.x86_64

มันจะต่างๆกันในเรื่องของ จำนวนตัวอักษร และ แพทเทิรน ใน ตัวเลขทษนิยมตรงกลาง เลยทำให้ยากมากสำหรับผม
ขอคำแนะนำด้วยครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30744
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: การแยกสตริง แบบหลายเงื่อนไขหลายส่วน

#2

Post by snasui »

:D ลองตามนี้ครับ
  1. เซลล์ G5 คีย์สูตร
    =IF(ISNUMBER(FIND(".x86",$C5)),MID($C5,FIND(".x86",$C5)+1,255),"")
    Enter > Copy ลงด้านล่าง
  2. เซลล์ F5 คีย์สูตร
    =SUBSTITUTE(SUBSTITUTE(MID($C5,FIND(".el",$C5),4),G5,""),".","")
    Enter > Copy ลงด้านล่าง
  3. เซลล์ E5 คีย์สูตร
    =MID($C5,MATCH(TRUE,ISNUMBER(MID($C5,ROW(INDIRECT("1:"&LEN($C5))),1)+0),0),FIND($F5,$C5)-MATCH(TRUE,ISNUMBER(MID($C5,ROW(INDIRECT("1:"&LEN($C5))),1)+0),0)-1)
    Ctrl+Shift+Enter > Copy ลงด้านล่าง
  4. เซลล์ D5 คีย์สูตร
    =LEFT(C5,FIND(E5,C5)-2)
    Enter > Copy ลงด้านล่าง
Note: Ctrl+Shift+Enter หมายถึงเมื่อคีย์สูตรแล้ว แทนที่จะกด Enter ให้กดแป้น Ctrl+Shift ค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array หากกดแป้นถูกต้องสูตรนั้นจะมีเครื่องหมายปีกกาครอบ เช่น {=YourFormulas(...)} ปีกกานี้คีย์เข้าไปเองไม่ได้ ถ้ายังไม่เห็นปีกกาครอบสูตรแสดงว่ากดแป้นให้รับสูตรไม่ถูกต้อง
tstc79tt
Member
Member
Posts: 83
Joined: Tue Nov 13, 2012 4:39 pm

Re: การแยกสตริง แบบหลายเงื่อนไขหลายส่วน

#3

Post by tstc79tt »

หากผมแก้สูตรใดสูตร หนึ่งต้องแก้สูตรทีเหลือทั้งหมดเลยใช่ไหมครับ เห็นมันเกี่ยวเนื่องกันหมด :D
User avatar
snasui
Site Admin
Site Admin
Posts: 30744
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: การแยกสตริง แบบหลายเงื่อนไขหลายส่วน

#4

Post by snasui »

:D สูตรสำหรับแยกข้อมูลลักษณะนี้ควรเกี่ยวข้องกันจะได้เป็น Dynamic สำหรับการแก้สูตรจะต้องทราบว่าแก้อะไรจึงจะบอกได้ว่ากระทบกับเซลล์อื่นหรือไม่ครับ
tstc79tt
Member
Member
Posts: 83
Joined: Tue Nov 13, 2012 4:39 pm

Re: การแยกสตริง แบบหลายเงื่อนไขหลายส่วน

#5

Post by tstc79tt »

=SUBSTITUTE(SUBSTITUTE(MID($C5,FIND(".el",$C5),4),G5,""),".","")

ต้องปรับแก้ยังไงหรือครับถึงจะเพิ่มจาก el6 เป็น(ให้มีทศนิยม) el6_1.2 เข้ามาครับ ผมลองปรับๆมั่วดูเองแล้วมันไม่ขึ้น
User avatar
snasui
Site Admin
Site Admin
Posts: 30744
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: การแยกสตริง แบบหลายเงื่อนไขหลายส่วน

#6

Post by snasui »

:D แนบไฟล์และยกตัวอย่างพร้อมคำตอบที่ต้องการมาใหม่ครับ
tstc79tt
Member
Member
Posts: 83
Joined: Tue Nov 13, 2012 4:39 pm

Re: การแยกสตริง แบบหลายเงื่อนไขหลายส่วน

#7

Post by tstc79tt »

นี่ครับ ตรงส่วนที่บอก el ให้บอกตัวเลขตามหลังทั้งหมด

แล้วก็

หากต้องการ
ให้โชว์ ค่าสตริงหลังจาก " . " ตัวสุดท้าย จากทางด้านขวา ครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30744
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: การแยกสตริง แบบหลายเงื่อนไขหลายส่วน

#8

Post by snasui »

tstc79tt wrote:เช่นอันด้านล่างนี้ครับ อยากให้มันออกมาเป็น el6_1.2
:D ควรจะบอกเงื่อนไขมาทั้งหมดว่าดูเงื่อนไขใดถึงให้ดึงตัวเลขตามตัวอย่างคืออยู่หลังเครื่องหมาย _ มาด้วย สำหรับตัวอื่น ๆ ดึงมาเช่นนี้หรือไม่ หรือเฉพาะตัวนี้ตัวเดียว ฯลฯ
tstc79tt
Member
Member
Posts: 83
Joined: Tue Nov 13, 2012 4:39 pm

Re: การแยกสตริง แบบหลายเงื่อนไขหลายส่วน

#9

Post by tstc79tt »

ครับ เช่น boost-regex-1.41.0-11.el16_1.2.x86_64

kbd-1.15-11.el6.noarch


ประมาณนี้ครับ

แบ่งช่วงออกมาประมาณนี้

boost-regex :::::: 1.41.0-11 :::::: el16_1.2:::::: x86_64

ดึงมาด้วยครับ เพราะเหมือนว่าเลขดังกล่าวเป็นตัวบอก เวอชั่น el ครับ
Last edited by tstc79tt on Wed Dec 26, 2012 10:53 am, edited 1 time in total.
User avatar
snasui
Site Admin
Site Admin
Posts: 30744
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: การแยกสตริง แบบหลายเงื่อนไขหลายส่วน

#10

Post by snasui »

:D จากไฟล์ที่แนบมาล่าสุด ลองตามด้านล่างครับ
  1. เซลล์ H10 คีย์เพื่อตัดชุดหลังสุดของข้อความ
    =TRIM(RIGHT(SUBSTITUTE(C10,".",REPT(" ",255)),255))
    Enter > Copy ลงด้านล่าง
  2. เซลล์ G10 คีย์สูตรเพื่อตัดชุดที่สามของข้อความ
    =TRIM(RIGHT(SUBSTITUTE(SUBSTITUTE(C10,"."&H10,""),".el",REPT(" ",255)&"el"),255))
    Enter > Copy ลงด้านล่าง
  3. เซลล์ E10 คีย์สูตรเพื่อตัดชุดที่สองของข้อความ
    =MID(SUBSTITUTE(SUBSTITUTE(C10,"."&H10,""),"."&G10,""),FIND(".",SUBSTITUTE(SUBSTITUTE(C10,"."&H10,""),"."&G10,""))-1,255)
    Enter > Copy ลงด้านล่าง
  4. เซลล์ D10 คีย์สูตรเพื่อตัดชุดแรกของข้อความ
    =LEFT(C10,FIND(E10,C10)-2)
    Enter > Copy ลงด้านล่าง
tstc79tt
Member
Member
Posts: 83
Joined: Tue Nov 13, 2012 4:39 pm

Re: การแยกสตริง แบบหลายเงื่อนไขหลายส่วน

#11

Post by tstc79tt »

ซับซ้อน มากเลยน่ะครับเนี่ย :O ลองอ่านตามแล้วงงๆตาไม่ทันเลยหละครับ

ขอบคุณมากๆครับ
tstc79tt
Member
Member
Posts: 83
Joined: Tue Nov 13, 2012 4:39 pm

Re: การแยกสตริง แบบหลายเงื่อนไขหลายส่วน

#12

Post by tstc79tt »

ผม ขออนุญาติ ขุดอันนี้ขึ้นมาน่ะครับ เนื่องจาก ผมได้ใช้ทำงานไปสักพัก ผมเจอ สิ่งที่ต้องแก้แล้วครับจึงอยากเรียนถามผู้รู้มาช่วยผมแก้ที่ (ผมพยายามแก้เองแล้วครับ เท่าที่ผมจะรู้และทำได้ ผสมฟั่งชั่นที่เข้าใจต่างๆรวมกัน T^T แต่ผลที่ได้แค่เกือบ)
ปัญหาคือ

boost-regex-1.41.0-11.el16_1.2.x86_64

แบ่งช่วงออกมาประมาณนี้

boost-regex :::::: 1.41.0-11 :::::: el16_1.2:::::: x86_64

แต่หาก เลข เวอชั่นนั้นหลักแรกนั้นเป็น เลข 2 หลัก เช่น 10.41.0-11
จะทำให้การแบ่ง เพี้ยนครับ เช่นกลายเป็น

boost-regex-1 :::::: 0.41.0-11 :::::: el16_1.2:::::: x86_64
User avatar
snasui
Site Admin
Site Admin
Posts: 30744
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: การแยกสตริง แบบหลายเงื่อนไขหลายส่วน

#13

Post by snasui »

:D จากสูตรในข้อ 3 ด้านล่าง
snasui wrote:เซลล์ E10 คีย์สูตรเพื่อตัดชุดที่สองของข้อความ
=MID(SUBSTITUTE(SUBSTITUTE(C10,"."&H10,""),"."&G10,""),FIND(".",SUBSTITUTE(SUBSTITUTE(C10,"."&H10,""),"."&G10,""))-1,255)
Enter > Copy ลงด้านล่าง
เปลี่ยนสูตรเป็น

=MID(SUBSTITUTE(SUBSTITUTE(C10,"."&H10,""),"."&G10,""),LOOKUP(9.99999999999999E+307,MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},C10&"01234567890"))),255)

Enter > Copy ลงด้านล่าง
tstc79tt
Member
Member
Posts: 83
Joined: Tue Nov 13, 2012 4:39 pm

Re: การแยกสตริง แบบหลายเงื่อนไขหลายส่วน

#14

Post by tstc79tt »

glibc-10.1:::::::::: 2-1.7 ::::: el6:::::::::::::: x86_64

boost-rege ::::::::::x-1.41.0-11::::: el16_1.2 ::::: x86_64

มันเป็นงี้อ่ะครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30744
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: การแยกสตริง แบบหลายเงื่อนไขหลายส่วน

#15

Post by snasui »

tstc79tt wrote:glibc-10.1:::::::::: 2-1.7 ::::: el6:::::::::::::: x86_64

boost-rege ::::::::::x-1.41.0-11::::: el16_1.2 ::::: x86_64

มันเป็นงี้อ่ะครับ
:twisted: อย่าลืมกฎข้อ 1 ครับ

แนบไฟล์ตัวอย่างข้อมูลและคำตอบที่ต้องการมาด้วยเพื่อสะดวกในการตอบครับ
tstc79tt
Member
Member
Posts: 83
Joined: Tue Nov 13, 2012 4:39 pm

Re: การแยกสตริง แบบหลายเงื่อนไขหลายส่วน

#16

Post by tstc79tt »

> < ครับ เดี่ยวรวบรวมจัดตำแหน่งสักครู่ครับ
Last edited by tstc79tt on Tue Jan 22, 2013 10:13 am, edited 1 time in total.
User avatar
snasui
Site Admin
Site Admin
Posts: 30744
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: การแยกสตริง แบบหลายเงื่อนไขหลายส่วน

#17

Post by snasui »

tstc79tt wrote:> < โอเครครับ เดะรวบรวมจัดตำแหน่งสักครู่ครับ
:evil: ถ้าโพสต์มาแบบนี้อีกรอบผมลบสมาชิกทิ้งนะครับ คุณทำผิดกฎข้อที่ 1 ครับ :evil:
tstc79tt
Member
Member
Posts: 83
Joined: Tue Nov 13, 2012 4:39 pm

Re: การแยกสตริง แบบหลายเงื่อนไขหลายส่วน

#18

Post by tstc79tt »

อาจารย์สูตรอาจารย์ถูกแล้วครับ แต่เป็นเพราะผมดันไปปรับสูตรก่อนหน้านี้ มันเลยทำให้ผิดเป็นทอดๆครับ :D ขอบคุณครับ

ผมลืมคราบบเดี่ยวแก้ครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30744
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: การแยกสตริง แบบหลายเงื่อนไขหลายส่วน

#19

Post by snasui »

tstc79tt wrote:อาจารย์สูตรอาจารย์ถูกแล้วครับ แต่เป็นเพราะผมดันไปปรับสูตรก่อนหน้านี้ มันเลยทำให้ผิดเป็นทอดๆครับ :D ขอบคุณครับ

ผมลืมคราบบเดี่ยวแก้ครับ
Banned เรียบร้อยแล้วครับเนื่องจากผิดกฎหลายรอบ ไม่ให้ความสำคัญกับคำเตือน
earthapeking
Member
Member
Posts: 1
Joined: Tue Jan 22, 2013 10:23 am

Re: การแยกสตริง แบบหลายเงื่อนไขหลายส่วน

#20

Post by earthapeking »

snasui wrote:
tstc79tt wrote:อาจารย์สูตรอาจารย์ถูกแล้วครับ แต่เป็นเพราะผมดันไปปรับสูตรก่อนหน้านี้ มันเลยทำให้ผิดเป็นทอดๆครับ :D ขอบคุณครับ

ผมลืมคราบบเดี่ยวแก้ครับ
Banned เรียบร้อยแล้วครับเนื่องจากผิดกฎหลายรอบ ไม่ให้ความสำคัญกับคำเตือน

ผมขอโทษจริงครับอาจารย์

ขอความที่ผมกำลังจะโพสก่อนโดนแบนครับแต่ดันโพสไม่ขึ้นแบนไปแล้ว

"" :flw: ขอโทษครับ ผมไม่ได้ตั้งใจ รีบพิมไปหน่อยครับ ปกติผมไม่พิมผิดขนาดนี้ครับบบ ""

กำลังedit ข้อความอยู่เลยครับ

ขอบคุณสำหรับความรู้ตลอด 3 เดือน ครับ บอร์ดนี้ ผมยกให้ดีที่สุดเท่าที่ผมเคยเป็นสมาชิกเกี่ยวกับบอร์ดความรู้วิชาการเลยครับ

ลาหละครับ -/|\-
Post Reply