Page 1 of 3
ให้Excell แสดงผลลัพธ์ครับ
Posted: Sun Jun 26, 2011 1:58 am
by rocketkenji
อยากทราบสูตรที่ใช้หาค่า จากไฟล์ที่แนบมาครับ ขอบคุณครับ
Re: ให้Excell แสดงผลลัพธ์ครับ
Posted: Sun Jun 26, 2011 6:54 am
by snasui

ยังไม่เคลียร์ครับ เซลล์ G18 มีค่า 60 มาจากเซลล์ไหนบ้าง และมีเงื่อนไขใดบ้างครับ

Re: ให้Excell แสดงผลลัพธ์ครับ
Posted: Sun Jun 26, 2011 12:54 pm
by rocketkenji
G18 มาจาก E3+F3+G3
G19 มาจาก H13+I13
G20 มาจาก E15+F15+G15+H15+I15
G21 มาจาก G6 ครับ
เงื่อนไขนี่เป็นยังไงครับ
Re: ให้Excell แสดงผลลัพธ์ครับ
Posted: Sun Jun 26, 2011 1:54 pm
by snasui

ตอบเรื่องเงื่อนไขก่อนนะครับ
เช่น ที่ G18 ตัวเลข 60 มาจาก E3, F3, G3
การที่จะให้ไปหา E3, F3, G3
ต้องพิจารณาอะไรถึงได้ตัวเลขนั้นมา นี่คือเงื่อนไขครับ เช่นพิจารณาว่า
1. ตัวเลขที่ D18 ตรงกับ B2:B15
2. ตัวเลขที่ F18 ตรงกับ E2:I2
3. ตัวเลขที่ E18 ตรงกับ C2:C15
เช่นนี้เป็นต้น
สำหรับคำตอบลองตามนี้ครับ
1. ที่ I18 คีย์สูตรเพื่อนับว่า G18 มีกี่อักขระ
=LEN(F18)
Enter > Copy ลงด้านล่าง
2. ที่ J18 เขียนสูตรเพื่อกระจาย F18 ออกมา
=TRIM(MID(SUBSTITUTE(","&$F18,",",REPT(" ",$I18)),COLUMNS($J18:J18)*$I18,$I18))
Enter > Copy ไปด้านขวาและลงด้านล่าง
3. ที่ O 18 คีย์สูตรเพื่อตรวจสอบว่ามีค่าซ้ำหรือไม่
=SUMPRODUCT(--(J18:N18<>""),--(COUNTIF(J18:N18,J18:N18)>1))
Enter > Copy ลงด้านล่าง ถ้าผลลัพธ์เป็น 0 แสดงว่าไม่ซ้ำ
4. ที่ G18 คีย์สูตรเพื่อหาคำตอบ
=SUM(INDEX($E$3:$I$15,MATCH(1,IF($B$3:$B$15=$D18,IF($C$3:$C$15=$E18,1)),0),0)*ISNUMBER(MATCH($J18:$N18+0,$E$2:$I$2,0)))
Ctrl+Shift+Enter > Copy ลงด้านล่าง สังเกตการกดแป้น ตอนสร้างและตอนแก้ไปปรับปรุงสูตร จะต้องกด Ctrl+Shift ตามด้วย Enter เสมอ เนื่องจากเป็นสูตร Array หากกดแป้นถูกต้องจะเห็นเครื่องหมายปีกกาคร่อมสูตร ปีกกานี้จะคีย์เข้าไปเองไม่ได้ครับ

Re: ให้Excell แสดงผลลัพธ์ครับ
Posted: Sun Jun 26, 2011 2:01 pm
by rocketkenji
ข้อมูลในช่อง E3 ถึง I7 และ E11 ถึง I15 เป็นค่าที่เราป้อนเข้าไปเองครับ
Re: ให้Excell แสดงผลลัพธ์ครับ
Posted: Sun Jun 26, 2011 2:06 pm
by rocketkenji
ขอบคุณมากครับ

Re: ให้Excell แสดงผลลัพธ์ครับ
Posted: Sun Jun 26, 2011 2:14 pm
by rocketkenji
ติดอีกนิดครับ ตรงตรวจสอบว่า ลงมัดงานซ้ำไหม ผมลองเปลี่ยนดู มันยังตรวจสอบไม่ได้อะครับ ขอบคุณมากครับ
และจากช่อง B18 - O21 จะมีวิธีการตรวจสอบไหมครับ ว่ามัดงานมัดไหน ที่เรายังไม่ได้ลงข้อมูลลงไปครับ
Re: ให้Excell แสดงผลลัพธ์ครับ
Posted: Sun Jun 26, 2011 2:29 pm
by snasui

เป็นเพราะโจทย์ไม่เคลียร์ครับ
การที่ตรวจสอบว่ามัดงานซ้ำหรือไม่ซ้ำจากไฟล์ที่แนบมาคือ O18 เป็นต้นไป โดยเป็นการตรวจสอบว่าใน F18 มีการคีย์เลขเดียวกันซ้ำหรือไม่ เช่น
1,2,2 เช่นนี้ถือว่าซ้ำ
แต่สิ่งที่คุณ rocketkenji ต้องการคือให้ตรวจสอบว่าจะไม่มีการคีย์มัดงานซ้ำ นั่นหมายถึง F18 มีค่า 3 แล้ว F21 จะใส่ค่า 3 อีกไม่ได้
การทำเช่นนั้นสามารถทำดังนี้ครับ
1. คลุม F18:Fn (n คือค่าใด ๆ ที่ต้องการเช่น 1000)
2. เข้าเมนู Data > Data Validation
3. ที่แถบ Setting ตรง Allow เลือก Custiom > ตรง Formula คีย์
=COUNTIF($F$18:F18,F18)=1
4. คลิก OK แล้วทดสอบการคีย์ข้อมูล > สังเกตการแสดงผล
Re: ให้Excell แสดงผลลัพธ์ครับ
Posted: Sun Jun 26, 2011 2:42 pm
by rocketkenji
ถ้าผมย้าย B17 ถึง O21 ไปสร้างในชีสใหม่ ต้องแก้สูตรยังไงครับ
สูตรช่อง G18 G19 G21 ยังผิดอยู่ครับ ค่าที่ได้ต้องได้เท่ากับ
G18 = G3
G19 = H13 + I13
G21 = H3
ขอบคุณมากครับ
Re: ให้Excell แสดงผลลัพธ์ครับ
Posted: Sun Jun 26, 2011 3:04 pm
by snasui

ไม่ต้องเขียนสูตรใหม่ครับ
ลองตามนี้ครับ
คลุม B17:O21 > คลิกขวา > Cut > ไปที่ชีทใหม่ > คลิกขวาที่เซลล์ที่ต้องการวาง > Paste
Re: ให้Excell แสดงผลลัพธ์ครับ
Posted: Sun Jun 26, 2011 3:07 pm
by rocketkenji
ช่อง G9ต้องได้ 90 ครับ จาก I6+J6 ผมแยกชีสแล้วนะครับ
ขอบคุณมากครับ
Re: ให้Excell แสดงผลลัพธ์ครับ
Posted: Sun Jun 26, 2011 3:38 pm
by snasui

ปรับสูตรที่ G18 ใหม่ตามด้านล่างครับ
=SUM(INDEX($E$3:$I$15,MATCH(1,IF($B$3:$B$15=$D18,IF($C$3:$C$15=$E18,1)),0),0)*ISNUMBER(MATCH(
$E$2:$I$2,
$J18:$N18+0,0)))
Ctrl+Shift+Enter > Copy ลงด้านล่าง
สังเกตที่ระบายสีไว้จะ
สลับกับสูตรเดิม
Re: ให้Excell แสดงผลลัพธ์ครับ
Posted: Sun Jun 26, 2011 3:43 pm
by snasui
rocketkenji wrote:ช่อง G9ต้องได้ 90 ครับ จาก I6+J6 ผมแยกชีสแล้วนะครับ
ขอบคุณมากครับ
ก่อนจะปรับมาเป็นชีทใหม่แก้สูตรตามคำตอบด้านบนก่อนครับ
Re: ให้Excell แสดงผลลัพธ์ครับ
Posted: Sun Jun 26, 2011 3:46 pm
by rocketkenji
snasui wrote:
เป็นเพราะโจทย์ไม่เคลียร์ครับ
การที่ตรวจสอบว่ามัดงานซ้ำหรือไม่ซ้ำจากไฟล์ที่แนบมาคือ O18 เป็นต้นไป โดยเป็นการตรวจสอบว่าใน F18 มีการคีย์เลขเดียวกันซ้ำหรือไม่ เช่น
1,2,2 เช่นนี้ถือว่าซ้ำ
แต่สิ่งที่คุณ rocketkenji ต้องการคือให้ตรวจสอบว่าจะไม่มีการคีย์มัดงานซ้ำ นั่นหมายถึง F18 มีค่า 3 แล้ว F21 จะใส่ค่า 3 อีกไม่ได้
การทำเช่นนั้นสามารถทำดังนี้ครับ
1. คลุม F18:Fn (n คือค่าใด ๆ ที่ต้องการเช่น 1000)
2. เข้าเมนู Data > Data Validation
3. ที่แถบ Setting ตรง Allow เลือก Custiom > ตรง Formula คีย์
=COUNTIF($F$18:F18,F18)=1
4. คลิก OK แล้วทดสอบการคีย์ข้อมูล > สังเกตการแสดงผล
ลองทำแล้วแต่ไม่ได้ครับ
Re: ให้Excell แสดงผลลัพธ์ครับ
Posted: Sun Jun 26, 2011 3:46 pm
by rocketkenji
snasui wrote:rocketkenji wrote:ช่อง G9ต้องได้ 90 ครับ จาก I6+J6 ผมแยกชีสแล้วนะครับ
ขอบคุณมากครับ
ก่อนจะปรับมาเป็นชีทใหม่แก้สูตรตามคำตอบด้านบนก่อนครับ
แก้แล้วครับผม
Re: ให้Excell แสดงผลลัพธ์ครับ
Posted: Sun Jun 26, 2011 3:56 pm
by snasui
rocketkenji wrote:snasui wrote:rocketkenji wrote:ช่อง G9ต้องได้ 90 ครับ จาก I6+J6 ผมแยกชีสแล้วนะครับ
ขอบคุณมากครับ
ก่อนจะปรับมาเป็นชีทใหม่แก้สูตรตามคำตอบด้านบนก่อนครับ
แก้แล้วครับผม

ผมดูไฟล์ที่ส่งมา ยังไม่แก้ครับ
Note: วันนี้เนตผมค่อนข้างช้า
Re: ให้Excell แสดงผลลัพธ์ครับ
Posted: Sun Jun 26, 2011 3:59 pm
by rocketkenji
คลุมที่ แถว F แล้ว ใส่สูตรลงไปได้เลยใช่ไหมครับ
Re: ให้Excell แสดงผลลัพธ์ครับ
Posted: Sun Jun 26, 2011 4:14 pm
by snasui

ฟอรัมไม่ได้ไว้แชทครับ กรณีไม่มีคำอธิบายเพิ่มเติมหรือข้อสงสัยไม่ควรโพสต์ครับ ผมลบความเห็นที่เขียนว่า
งงมากครับ ออกไปแล้ว
ผมทำไฟล์มาให้ใหม่ ซึ่งหลังจากแยกชีทแล้ว ดูว่าได้ตามต้องการหรือไม่ครับ พยายามทำตามที่ผมแนะนำก่อน ติดตรงไหนหรือไม่ได้อย่างไรก็ควรอธิบายมาด้วยครับจะได้แก้ตรงประเด็น เนื่องจากวันนี้เนตผมช้ามากก็เลยทำให้ก่อน
Re: ให้Excell แสดงผลลัพธ์ครับ
Posted: Sun Jun 26, 2011 4:16 pm
by rocketkenji
ขอบคุณมากครับผม
Re: ให้Excell แสดงผลลัพธ์ครับ
Posted: Sun Jun 26, 2011 4:20 pm
by rocketkenji
ถ้าผมเปลี่ยน รหัสสินค้าเป็น 002 แล้ว ใส่ช่วงงานที่ 1 ผมจะใส่มัดงานที่ 1 ไม่ได้ครับ