Page 1 of 1

รบกวนถามเรื่องการเพิ่ม column จากข้อมูลเดิมครับ

Posted: Thu Sep 30, 2010 4:25 pm
by ohmpower
อยากทราบสูตร หรือการเขียน code โปรแกรมเปลี่ยนรูปแบบ ข้อมูล จาก ไฟล์ test เป็น ไฟล์ ok
จากไฟล์ test
1) เพิ่ม column ขึ้นมา 1 column ที่ด้านซ้ายสุด มากำกับทุก ๆ row โดยเอาข้อมูลมาจาก ตัวเลขหลังคำว่า Plate No. เช่น Plate No. 78 1709 ในที่นี้คือ 78-1709 มากำกับ
2) ในรถบางคัน อาจจะมี หรือไม่มีเครื่องหมาย - ขั้นที่หมายเลขรถ เช่น 75 1699แต่ที่ต้องการใน column ที่เพิ่มมากำกับคือ ให้เป็นเลข 75-1699 ( ทุก ๆ row ที่เพิ่มมากำกับ ต้องมีเครื่องหมาย - ขั้นอยู่ตรงกลาง)
3) ลบ row ทุก row ที่ HI LIGHT ไว้เป็นสีเหลือง ในไฟล์ test ออก
4) จะได้ผลลัพธ์ที่ต้องการ ดังตัวอย่าง คือ ไฟล์ ok ที่แนบมา
หมายเหตุ รถบางคันอาจจะมี รายการ หมายเลข ซ้ำกันได้ โดยจะทำเป็นตัวหนังสือสีแดงไว้

ขอบคุณล่วงหน้าครับ

Re: รบกวนถามเรื่องการเพิ่ม column จากข้อมูลเดิมครับ

Posted: Thu Sep 30, 2010 4:49 pm
by snasui
:D ลองดูตามไฟล์แนบครับ

ขั้นตอนการทำงาน

1. แทรก 2 คอลัมน์ด้านหน้าฐานข้อมูล

2. เขียนสูตรที่คอลัมน์ B2 > Copy ลงด้านล่าง

=IF(ISNUMBER(H2+0),B1,SUBSTITUTE(RIGHT(H2,7)," ","-"))


3. เขียนสูตรที่คอลัมน์ A2 > Copy ลงด้านล่าง

=IF(ISTEXT(C2),"Delete","")

4. Copy คอลัมน์ A:B แล้ววางเป็น Value

5. Filter เพื่อลบเฉพาะบรรทัดในมีคำว่า Delete ในคอลัมน์ A

Re: รบกวนถามเรื่องการเพิ่ม column จากข้อมูลเดิมครับ

Posted: Fri Oct 01, 2010 8:56 am
by ohmpower
:D ขอบคุณมากนะครับ สำหรับคำตอบ แต่ผมขอรบกวนอีกนิดนึงนะครับ คือว่า ผมทำตามที่พี่บอกถึง ข้อ 3 แล้ว ไปต่อไม่เป็นแล้วครับ :rz: ( ข้อ 4 ทำไม่เป็นครับ :lol: ช่วยอธิบายแบบละเอียดกว่านี้หน่อยนะครับ ) ส่วนของ code สูตร ถ้าว่างช่วยอธิบาย เพิ่มเติม ก็จะขอบพระคุณมากเลยครับ :mrgreen:

Re: รบกวนถามเรื่องการเพิ่ม column จากข้อมูลเดิมครับ

Posted: Fri Oct 01, 2010 9:49 am
by snasui
:D จากสูตรในข้อ 2 ด้านบน

1. =IF(ISNUMBER(H2+0),B1,SUBSTITUTE(RIGHT(H2,7)," ","-"))

หมายความว่า ถ้า H2+0 เป็นตัวเลข ให้เอา B1 มาแสดง ถ้าไม่เป็นตัวเลข ให้ตัดข้อความด้านขวา H2 มา 7 ตำแหน่ง ตัดเสร็จแล้วก็เปลี่ยนช่องว่างให้เป็น -

Isnumber(H2+0) เป็นการตรวจสอบว่า H2+0 เป็นตัวเลขหรือไม่

RIGHT(H2,7) เป็นการตัดข้อความด้านขวาของ H2 มาเจ็ดตำแหน่ง

SUBSTITUTE(RIGHT(H2,7)," ","-") เปลี่ยนช่องว่างในข้อความที่ตัดมาแล้วให้เป็น -

2. =IF(ISTEXT(C2),"Delete","")

หมายความว่า ถ้า C2 เป็น Text ให้แสดงคำว่า Delete ถ้าไม่ใช่ก็ให้แสดงค่าว่าง

Istext(C2) ตรวจสอบว่า C2 เป็น Text หรือไม่ ถ้าใช่จะแสดงผลลัพธ์เป็น True ถ้าไม่ใช่จะแสดงผลลัพธ์เป็น False

สำหรับวิธีการเปลี่ยนสูตรให้เป็น Value และการ Filter เพื่อลบบรรทัดที่มีคำว่า Delete ดูตัวอย่างตามภาพครับ :mrgreen:

Re: รบกวนถามเรื่องการเพิ่ม column จากข้อมูลเดิมครับ

Posted: Fri Oct 01, 2010 10:41 am
by ohmpower
ขอบพระคุณมากครับ สุดยอดเลย :D