Page 1 of 2

ต้องการเปรียบเทียบราคากับ Sheet แรกครับ

Posted: Sat Jan 19, 2013 10:26 pm
by itsadaw.
เรียน อาจารย์ และ ผู้รู้ครับ

ทางผมต้องการเปรียบเทียบราคาใน Sheet 1 และ Sheet 2
ตามรายละเอียดที่ได้อธิบายครับ
(งานนี้ยากมากสำหรับผมครับ ไปไม่ถูกเลยครับ :| )

ขอบพระคุณครับ

Re: ต้องการเปรียบเทียบราคากับ Sheet แรกครับ

Posted: Sat Jan 19, 2013 10:58 pm
by bank9597
:D ขอดูไฟล์แนบด้วยครับ

Re: ต้องการเปรียบเทียบราคากับ Sheet แรกครับ

Posted: Sun Jan 20, 2013 8:39 am
by itsadaw.
ย่อไฟล์พร้อมแนบครับ

Re: ต้องการเปรียบเทียบราคากับ Sheet แรกครับ

Posted: Sun Jan 20, 2013 1:12 pm
by bank9597
:D ไม่ทราบว่า ราคาในชีทที่ 2 คือ คอลัมน์ไหนครับ เพราะในชีทที่ 1 คือ B กับ D แต่ชีทที่ 1 ไม่ได้แจ้งให้ทราบ เท่าที่ดูด้วยตาก็ไม่เห็นจะมีราคาไหนซ้ำเลยครับ

Re: ต้องการเปรียบเทียบราคากับ Sheet แรกครับ

Posted: Sun Jan 20, 2013 5:35 pm
by itsadaw.
จะเป็นคอลัมน์ A กับ คอลัมน์ F ไปจนถึงคอลัมน์ P
จะใช้ตรวจสอบเทียบราคาของ Sheet 2 ว่าเท่ากับ sheet 1 หรือไม่ครับ
ประมาณนี้อ่ะครับ

Re: ต้องการเปรียบเทียบราคากับ Sheet แรกครับ

Posted: Sun Jan 20, 2013 6:53 pm
by snasui
itsadaw. wrote:ประมาณนี้อ่ะครับ
งดการใช้ภาษาแชทตามกฎข้อ 1 ด้านบนครับ

ลองทำตัวอย่างคำตอบที่ต้องการมาด้วยและระบุด้วยว่าค่าที่นำมาเปรียบเที่ยบนั้นมาจากเซลล์ใดครับ

Re: ต้องการเปรียบเทียบราคากับ Sheet แรกครับ

Posted: Sun Jan 20, 2013 7:25 pm
by itsadaw.
สักครู่นะครับ จะลองทำตัวอย่าง และแนบไฟล์มาครับ

ขอบคุณครับ

Re: ต้องการเปรียบเทียบราคากับ Sheet แรกครับ

Posted: Sun Jan 20, 2013 7:49 pm
by itsadaw.
เรียน อาจารย์ และ ผู้รู้ทุกท่าน ครับ

ขอยกตัวอย่างดังนี้ครับ

เช่นใน Sheet 2 บรรทัดที่ 12 จะมีราคาที่ต้องการจะเช็คกับใน Sheet 1 ทั้งหมดมี 5 ราคา
ประกอบไปด้วย -46.20 , -15.00, -30.00, -3.74 และ -25.26 ครับ

เมื่อทำการเช็คSheet 1 พบว่า Part No : 484301A19A นั้น มีราคาปรากฏแค่ 3 ราคา
คือ -15.00 , -30.00 และ -28.00 ( จะใช้สูตรอย่างไรดีครับ เพื่อให้ราคาที่ตรงกันแสดงผลในช่อง F - P ครับ )
( ส่วน -28.00 จะไม่ตรงกับราคาตัวใดเลย ในช่องตรวจสอบราคา จึงต้องการให้แสดงค่า ในช่อง Q เป็น ราคาคงเหลือในSheet1 แต่ไม่มีใน Sheet 2 )

ตัวอย่างที่ 2 ในบรรทัดที่ 14 ใน Sheet 2 ก็ ทำในความหมายเดียวกันกับตัวอย่างแรกครับ


รบกวนอาจารย์และท่านผู้รู้ชี้แนะด้วยครับ

ขอบพระคุณครับ

Re: ต้องการเปรียบเทียบราคากับ Sheet แรกครับ

Posted: Sun Jan 20, 2013 8:29 pm
by snasui
:D ลองตามนี้ครับ

ที่ Sheet2
  1. เซลล์ G6 คีย์สูตร
    =IF(SUMPRODUCT(--($A6=Sheet1!$B$5:$B$475),--(F6=Sheet1!$D$5:$D$475))>0,F6,"")
    Enter > Copy ลงด้านล่าง จากนั้น Copy ไปวางที่คอลัมน์ I,K,M,O,Q ในบรรทัดที่ตรงกัน
  2. เซลล์ R6 คี่ย์สูตร
    =INDEX(Sheet1!$D$5:$D$475,SMALL(IF($A6=Sheet1!$B$5:$B$475,IF(1-ISNUMBER(MATCH(Sheet1!$D$5:$D$475,$F6:$Q6,0)),ROW(Sheet1!$B$5:$B$475)-ROW(Sheet1!$B$5)+1)),1))
    Ctrl+Shift+Enter > Copy ลงด้านล่าง
Note: Ctrl+Shift+Enter หมายถึงเมื่อคีย์สูตรแล้ว แทนที่จะกด Enter ให้กดแป้น Ctrl+Shift ค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array หากกดแป้นถูกต้องสูตรนั้นจะมีเครื่องหมายปีกกาครอบ เช่น {=YourFormulas(...)} ปีกกานี้คีย์เข้าไปเองไม่ได้ ถ้ายังไม่เห็นปีกกาครอบสูตรแสดงว่ากดแป้นให้รับสูตรไม่ถูกต้อง

Re: ต้องการเปรียบเทียบราคากับ Sheet แรกครับ

Posted: Sun Jan 20, 2013 10:38 pm
by itsadaw.
ขอบพระคุณอาจารย์ครับ

ถ้าสูตรในช่องR สูตรแสดงผลเป็น #Num นั้นถูกต้องแล้วนะครับ ?

ขอสอบถามเพิ่มเติมครับ

ถ้าผมต้องการให้แสดงผล ราคาคงเหลือ ในSheet 1 ที่ไม่มีใน Sheet2
และ ให้สามารถแสดงผลในช่อง S ของ Sheet2 ได้มากกว่าหนึ่งตัว

เช่นดั่งตัวอย่าง Sheet2 ในบรรทัดที่ S12 เช่น Part No : 484301A19A
มีราคาคงเหลือใน Sheet 1 มี -28.00 และ -71.00 ( Sheet 1 บรรทัดที 48 และ 415 )

ต้องคียสูครอย่างไรในช่อง S ครับ

ขอบพระคุณอาจารย์อีกครั้งครับ

Re: ต้องการเปรียบเทียบราคากับ Sheet แรกครับ

Posted: Mon Jan 21, 2013 6:57 am
by snasui
:D ไฟล์ที่แนบมานั้นสามารถเปิดดูได้ ผมจึงลบโพสต์ล่าสุดทิ้งไปครับ

เราสามารถปรับสูตรที่ R6 เป็น

=INDEX(Sheet1!$D$5:$D$477,SMALL(IF($A6=Sheet1!$B$5:$B$477,IF(1-ISNUMBER(MATCH(Sheet1!$D$5:$D$477,$F6:$Q6,0)),ROW(Sheet1!$B$5:$B$477)-ROW(Sheet1!$B$5)+1)),COLUMNS($R6:R6)))

Ctrl+Shift+Enter > Copy ไปด้านขวาและลงด้านล่าง
itsadaw. wrote:ถ้าสูตรในช่องR สูตรแสดงผลเป็น #Num นั้นถูกต้องแล้วนะครับ ?
สูตรตามด้านบน กรณีไม่มีค่าตามเงื่อนไขจะแสดงค่าผิดพลาดเป็น #Num! ครับ

กรณีไม่ต้องการแสดงค่าผิดพลาด #Num! สามารถปรับสูตรที่ R6 เป็น

=IF(SUM(IF($A6=Sheet1!$B$5:$B$477,IF(1-ISNUMBER(MATCH(Sheet1!$D$5:$D$477,$F6:$Q6,0)),1)))<COLUMNS($R6:R6),"",INDEX(Sheet1!$D$5:$D$477,SMALL(IF($A6=Sheet1!$B$5:$B$477,IF(1-ISNUMBER(MATCH(Sheet1!$D$5:$D$477,$F6:$Q6,0)),ROW(Sheet1!$B$5:$B$477)-ROW(Sheet1!$B$5)+1)),COLUMNS($R6:R6))))

Ctrl+Shift+Enter > Copy ไปทางขวาและลงด้านล่าง

และหากต้องการให้ค่าที่ต้องการอยู่ในเซลล์เดียวกันค่อยนำมาเชื่อมกันทีหลังได้ครับ

Re: ต้องการเปรียบเทียบราคากับ Sheet แรกครับ

Posted: Mon Jan 21, 2013 10:58 am
by itsadaw.
เรียนอาจารย์และผู้รู้ทุกท่านครับ

ขอสอบถามเพิ่มเติมครับ

ถ้าผมต้องการให้แสดงผล ราคาคงเหลือ ในSheet 1 ที่ไม่มีใน Sheet2
และ ให้สามารถแสดงผลในช่อง S ของ Sheet2 ได้มากกว่าหนึ่งตัวเป็นต้นไป

เช่นดั่งตัวอย่าง Sheet2 ในบรรทัดที่ S12 เช่น Part No : 484301A19A
มีราคาคงเหลือใน Sheet 1 มี -28.00 และ -71.00 ( Sheet 1 บรรทัดที 48 และ 415 )

ต้องคียสูครอย่างไรในช่อง S ครับ (หรือพอจะมีวิธีอื่นใหมครับ )

ขอรบกวนให้อ้างอิงไฟล์ที่แนบมาครั้งที่ผ่านมาครับ

ขอบพระคุณอาจารย์อีกครั้งครับ

Re: ต้องการเปรียบเทียบราคากับ Sheet แรกครับ

Posted: Mon Jan 21, 2013 1:05 pm
by itsadaw.
เรียน อาจารย์ และ ผู้รู้ทุกท่านครับ

ราคาคงเหลือ ราคาที่มีในSheet 1แต่ไม่ปรากฎในSheet 2 (ต้องการให้แสดง ราคาคงเหลือ ในSheet 1 ได้มากกว่าหนึ่งตัวเป็นต้นครับ ดังตัวอย่างข้างล่างในแถว S6 เป็นต้นไป ครับ ไม่จำเป็นต้องให้มีเครื่องหมายฟันหนู หรือ หากมีวิธีอื่นรบกวนช่วยชี้แนะด้วยครับ )


ขอบคุณอีกครั้งครับ

Re: ต้องการเปรียบเทียบราคากับ Sheet แรกครับ

Posted: Mon Jan 21, 2013 1:52 pm
by snasui
:D ได้ทดลองตามสูตรที่ผมตอบไปแล้วยังครับ :?: :ard:
snasui wrote: :D ไฟล์ที่แนบมานั้นสามารถเปิดดูได้ ผมจึงลบโพสต์ล่าสุดทิ้งไปครับ

เราสามารถปรับสูตรที่ R6 เป็น

=INDEX(Sheet1!$D$5:$D$477,SMALL(IF($A6=Sheet1!$B$5:$B$477,IF(1-ISNUMBER(MATCH(Sheet1!$D$5:$D$477,$F6:$Q6,0)),ROW(Sheet1!$B$5:$B$477)-ROW(Sheet1!$B$5)+1)),COLUMNS($R6:R6)))

Ctrl+Shift+Enter > Copy ไปด้านขวาและลงด้านล่าง
itsadaw. wrote:ถ้าสูตรในช่องR สูตรแสดงผลเป็น #Num นั้นถูกต้องแล้วนะครับ ?
สูตรตามด้านบน กรณีไม่มีค่าตามเงื่อนไขจะแสดงค่าผิดพลาดเป็น #Num! ครับ

กรณีไม่ต้องการแสดงค่าผิดพลาด #Num! สามารถปรับสูตรที่ R6 เป็น

=IF(SUM(IF($A6=Sheet1!$B$5:$B$477,IF(1-ISNUMBER(MATCH(Sheet1!$D$5:$D$477,$F6:$Q6,0)),1)))<COLUMNS($R6:R6),"",INDEX(Sheet1!$D$5:$D$477,SMALL(IF($A6=Sheet1!$B$5:$B$477,IF(1-ISNUMBER(MATCH(Sheet1!$D$5:$D$477,$F6:$Q6,0)),ROW(Sheet1!$B$5:$B$477)-ROW(Sheet1!$B$5)+1)),COLUMNS($R6:R6))))

Ctrl+Shift+Enter > Copy ไปทางขวาและลงด้านล่าง

และหากต้องการให้ค่าที่ต้องการอยู่ในเซลล์เดียวกันค่อยนำมาเชื่อมกันทีหลังได้ครับ

Re: ต้องการเปรียบเทียบราคากับ Sheet แรกครับ

Posted: Mon Jan 21, 2013 4:29 pm
by itsadaw.
เรียน อาจารย์ ครับ

:o ลองทำแล้วครับ ตามไฟล์แนบครับ

Re: ต้องการเปรียบเทียบราคากับ Sheet แรกครับ

Posted: Mon Jan 21, 2013 4:31 pm
by itsadaw.
เรียนอาจารย์ ครับ

ราคาคงเหลือ ราคาที่มีในSheet 1แต่ไม่ปรากฎในSheet 2 (ต้องการให้แสดง ราคาคงเหลือ ในSheet 1 ได้มากกว่าหนึ่งตัวเป็นต้นครับ ดังตัวอย่างข้างล่างในแถว S6 เป็นต้นไป ครับ ไม่จำเป็นต้องให้มีเครื่องหมายฟันหนู หรือ หากมีวิธีอื่นรบกวนช่วยชี้แนะด้วยครับ )

รบกวนชี้แนะด้วยครับ
(เนื่องจากไม่ค่อยเก่งเรื่องสูตรครับ)

Re: ต้องการเปรียบเทียบราคากับ Sheet แรกครับ

Posted: Mon Jan 21, 2013 4:45 pm
by snasui
:D
itsadaw. wrote: ลองทำแล้วครับ ตามไฟล์แนบครับ
ทำไม่ครบครับ :ard:
snasui wrote:สามารถปรับสูตรที่ R6 เป็น

=IF(SUM(IF($A6=Sheet1!$B$5:$B$477,IF(1-ISNUMBER(MATCH(Sheet1!$D$5:$D$477,$F6:$Q6,0)),1)))<COLUMNS($R6:R6),"",INDEX(Sheet1!$D$5:$D$477,SMALL(IF($A6=Sheet1!$B$5:$B$477,IF(1-ISNUMBER(MATCH(Sheet1!$D$5:$D$477,$F6:$Q6,0)),ROW(Sheet1!$B$5:$B$477)-ROW(Sheet1!$B$5)+1)),COLUMNS($R6:R6))))

Ctrl+Shift+Enter > Copy ไปทางขวาและลงด้านล่าง

Re: ต้องการเปรียบเทียบราคากับ Sheet แรกครับ

Posted: Mon Jan 21, 2013 5:46 pm
by itsadaw.
:o ได้แล้วครับ สุดยอดมากเลยครับอาจารย์
สุดยอดจริงจริงครับ

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

Re: ต้องการเปรียบเทียบราคากับ Sheet แรกครับ

Posted: Mon Jan 21, 2013 6:46 pm
by itsadaw.
เรียน อาจารย์ และ ผู้รู้ทุกท่านครับ

พอลองทำจริงแล้วสูตรไม่ติดไม่แสดงผลอะไรเลยครับ
ในSheet2 สำหรับ Part No :484301A19A อยู่บรรทัดที่ 12 ครับ

สำหรับSheet2ช่องที่ต้องการเปรียบเทียบราคากับใน Sheet 1 คอลัมท์ D1-D2140 คือ ช่อง H,J,L,N,P

เฮ้ออ ผมคียอะไรผิดหรือเปล่าครับ ? :oops:

Re: ต้องการเปรียบเทียบราคากับ Sheet แรกครับ

Posted: Mon Jan 21, 2013 8:32 pm
by snasui
:D ผิดตรงที่ระบายสีแดงไว้ครับ

=IF(SUMPRODUCT(--($A6=Sheet1!$D$5:$D$2140),--(G6=Sheet1!$D$5:$D$2140))>0,G6,"")

ลองสังเกตว่าสูตรที่ผมตอบไว้เดิมอ้างอิงที่คอลัมน์ใดครับ