Page 1 of 1

สูตรการดึงค่ารายการและผลรวมไปแสดง ในSheet BOQ

Posted: Thu Jul 25, 2019 4:57 pm
by Worakan
ขอปรึกษาสูตร ในไฟล์ตัวอย่าง มี Sheet ชื่อว่า A1 ถึง A19 ในแต่ละชีท จะมีรายการอุปกรณ์สำหรับใช้ในแต่ละจุด
สิ่งที่ผมต้องการคือ
1. ในชีท ชื่อ BOQ ต้องการทราบว่า ใน A1 ถึง A19 มีรายการอุปกรณ์อะไรบ้าง ถ้ามีรายการที่เหมือนกัน ให้แสดงแค่ชื่อเดียว
2. ในช่องจำนวน ต้องการให้แสดงผลรวม ของรายการที่มีชื่อเหมือนกัน

ขอขอบคุณมากครับ

Re: สูตรการดึงค่ารายการและผลรวมไปแสดง ในSheet BOQ

Posted: Fri Jul 26, 2019 7:29 pm
by snasui
:D ตัวอย่างสูตรตามด้านล่างครับ
  1. G1, H1, I1, K1, L1 คีย์ค่าตามลำดับดังนี้
    0, SheetName, Transaction, Sheet, Line
  2. ที่ K2:K23 คีย์ชื่อชีตทั้งหมด
  3. ที่ L2 คีย์
    =SUMPRODUCT(SUBTOTAL(2,INDIRECT("'"&K$2:K2&"'!d8:d25")))-SUMPRODUCT(SUBTOTAL(2,INDIRECT("'"&K2&"'!d8:d25")))+1
    Enter > Copy ลงด้านล่าง
  4. ที่ M1 คีย์
    =SUMPRODUCT(SUBTOTAL(2,INDIRECT("'"&K$2:K23&"'!d8:d25")))
    Enter
  5. ที่ G2 คีย์
    =IF(H2="","",IF(COUNTIF(I$2:I2,I2)=1,LOOKUP(9.99999999999999E+307,G$1:G1)+1,""))
    Enter > Copy ลงด้านล่าง
  6. ที่ H2 คีย์
    =IF(ROWS(H$2:H2)>$M$1,"",LOOKUP(ROWS(H$2:H2),$L$2:$L$23,$K$2:$K$23))
    Enter > Copy ลงด้านล่าง
  7. ที่ I2 คีย์
    =IF(H2="","",INDEX(INDIRECT("'"&H2&"'!C8:C25"),SMALL(IF(ISNUMBER(INDIRECT("'"&H2&"'!D8:D25")),ROW(INDIRECT("'"&H2&"'!D8:D25"))-ROW(INDIRECT("'"&H2&"'!D8"))+1),COUNTIF(H$2:H2,H2))))
    Ctrl+Shift+Enter > Copy ลงด้านล่าง
  8. ที่ A4 คีย์
    =IF(ROWS(A$4:A4)>LOOKUP(9.99999999999999E+307,G:G),"",ROWS(A$4:A4))
    Enter > Copy ลงด้านล่าง
  9. ที่ C4 คีย์
    =IF(A4="","",LOOKUP(A4,G:G,I:I))
    Enter > Copy ลงด้านล่าง
  10. ที่ D4 คีย์
    =IF(C4="","",SUMPRODUCT(SUMIF(INDIRECT("'"&$K$2:$K$23&"'!C8:C25"),C4,INDIRECT("'"&$K$2:$K$23&"'!D8:D25"))))
    Enter > Copy ลงด้านล่าง
  11. ที่ E4 คีย์
    =IF(A4="","",VLOOKUP(C4,INDIRECT(INDEX("'"&$K$2:$K$23&"'!C8:E25",MATCH(TRUE,INDEX(COUNTIF(INDIRECT("'"&$K$2:$K$23&"'!C8:C25"),C4)>0,0),0))),3,0))
    Ctrl+Shift+Enter > Copy ลงด้านล่าง

Re: สูตรการดึงค่ารายการและผลรวมไปแสดง ในSheet BOQ

Posted: Tue Jul 30, 2019 5:11 pm
by Worakan
ขอขอบคุณอาจารย์มากครับ แต่ ผมขอเรียนว่า เมื่อผมทำตามขั้นตอนที่ อาจารย์แนะนำแล้ว ผลปรากฏว่า เป็นดังตัวอย่างที่ แนบมาพร้อมนี้ ประกอบกับตังผมเอง มีความรู้ทางด้านนี้น้อยมาก แต่อยากพัฒนาโปรแกรมของโครงการ จึงขอคำแนะนำจากท่าน อีกสักครั้งหนึงครับ ขอบพระคุณมากครับ

Re: สูตรการดึงค่ารายการและผลรวมไปแสดง ในSheet BOQ

Posted: Tue Jul 30, 2019 5:12 pm
by Worakan
หากผิดพลาดประการใด รบกวนขอคำแนะนำจากท่าน และขอรบกวนอาจารย์ แนะนำในตัวอย่าง จะเป็นพระคุณอย่างสูง ครับ

Re: สูตรการดึงค่ารายการและผลรวมไปแสดง ในSheet BOQ

Posted: Tue Jul 30, 2019 5:28 pm
by puriwutpokin
แก้ตรง I2=IF(H2="","",INDEX(INDIRECT("'"&H2&"'!C8:C25"),SMALL(IF(ISNUMBER(INDIRECT("'"&H2&"'!D8:D25")),ROW(INDIRECT("'"&H2&"'!D8:D25"))-ROW(INDIRECT("'"&H2&"'!D8"))+1),COUNTIF(H$2:H2,H2)))) กด Ctrl+Shift+Enter คัดลอกลงครับ
และที่ M1=SUMPRODUCT(SUBTOTAL(2,INDIRECT("'"&K$2:K23&"'!d8:d25"))) ในไฟล์ลงเป็น M2 ไม่ถูกครับต้อง M1