Page 1 of 1

ปวดหัวกับขอ้มูลที่ไม่เป็นระบบ

Posted: Sat Mar 24, 2012 11:54 am
by godman
อาจารย์ครับ ข้อมูลที่มีหัวเรื่องลักษณะนี้

ชื่อเครื่อง ความถี่
เครื่องจักร1
a.ตรวจสอบน้ำมัน 1 วัน
b.ตรวจสอบจารบี 1 เดือน
c.ตรวจสอบอุณหภูมิ 1 ปี
เครื่องจักร 2
a.ตรวจสอบน้ำมัน 1 วัน
b.ตรวจสอบจารบี 1 เดือน
c.ตรวจสอบอุณหภูมิ 1 ปี
d.ตรวจสอบแก้ส 1 สัปดาห์

เครื่องจักรย่อย a b c d e f จำนวนรายการมากบ้างน้อยบ้าง
มากมายเป็น 400 เครื่อง ฝ่ายช่างเขาไม่ได้วางข้อมูลเป็นระบบ ผมจะดึงข้อมูลให้เป็นระบบก่อนเป็นอันดับแรก จากกนั้นผมจะใช้ macro และสร้าง form ให้เขา แต่ตอนนี้ผมจะใช้สูตรอะไรดีครับ

Re: ปวดหัวกับขอ้มูลที่ไม่เป็นระบบ

Posted: Sat Mar 24, 2012 1:01 pm
by snasui
:D ลองดูตัวอย่างตามไฟล์แนบครับ
โดยมีวิธีการคร่าว ๆ คือ
  1. ที่ชีท Building 1 A3 เซลล์ ที่ Z6 คีย์สูตรเพื่อหาก Description ของแต่ละรายการ
    =IF(OR(A6="",LEN(A6)>2),"",LOOKUP(2,1/(LEN(A$5:A6)>2),A$5:A6))
    Enter > Copy ลงด้านล่าง
  2. ที่ชีท Building 1 A3 เซลล์ Y4 คีย์ 0 เพื่อเป็นค่าตั้งต้นให้กับฟังก์ชั่น Lookup เพื่อหาลำดับที่เข้าเงื่อนไข
  3. ที่ชีท Building 1 A3 เซลล์ Y6 คีย์สูตรเพื่อให้ลำดับค่าที่เข้าเงื่อนไข
    =IF(Z6<>"",LOOKUP(9.99999999999999E+307,Y$4:Y5)+1,"")
    Enter > Copy ลงด้านล่าง
  4. ที่ชีท Arrangedata เซลล์ E1 คีย์สูตรเพื่อหาจำนวนค่าสูงสุดในชีท Building 1 A3 คอลัมน์ Y
    =LOOKUP(9.99999999999999E+307,'Building 1 A3'!Y:Y)
    Enter
  5. ที่ชีท Arrangedata เซลล์ A2 คีย์สูตรเพื่อ List รายการที่ต้องการ
    =IF(ROWS(A$2:A2)>$E$1,"",LOOKUP(ROWS(A$2:A2),'Building 1 A3'!$Y$6:$Y$692,'Building 1 A3'!A$6:A$692))
    Enter > Copy ไปทางขวาและปรับช่วงข้อมูลในสูตรให้ตรงกับคอลัมน์ที่ต้องการนำมาแสดง

Re: ปวดหัวกับขอ้มูลที่ไม่เป็นระบบ

Posted: Sat Mar 24, 2012 1:10 pm
by godman
ใช้ได้ดีครับ ขอบพระคุณเป็นอย่างสูงครับ ต่อไปผมก็จะไปสร้างฟอร์มให้เขา อาจารย์ช่วยให้คำปรึกษาและทำให้ดูเป็นตัวอย่าง ผมก็ไปช่วยเหลือคนอื่นต่อไป งานนี้ผมทำช่วยฝ่ายช่างครับ ขอให้คำขอบคุณจากฝ่ายช่าง มาถึงอาจารย์ด้วยครับ