:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

ให้Excell แสดงผลลัพธ์ครับ

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
rocketkenji
Member
Member
Posts: 57
Joined: Sun Jun 26, 2011 1:52 am

ให้Excell แสดงผลลัพธ์ครับ

#1

Post by rocketkenji »

อยากทราบสูตรที่ใช้หาค่า จากไฟล์ที่แนบมาครับ ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30744
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ให้Excell แสดงผลลัพธ์ครับ

#2

Post by snasui »

:D ยังไม่เคลียร์ครับ เซลล์ G18 มีค่า 60 มาจากเซลล์ไหนบ้าง และมีเงื่อนไขใดบ้างครับ :?:
rocketkenji
Member
Member
Posts: 57
Joined: Sun Jun 26, 2011 1:52 am

Re: ให้Excell แสดงผลลัพธ์ครับ

#3

Post by rocketkenji »

G18 มาจาก E3+F3+G3
G19 มาจาก H13+I13
G20 มาจาก E15+F15+G15+H15+I15
G21 มาจาก G6 ครับ
เงื่อนไขนี่เป็นยังไงครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30744
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ให้Excell แสดงผลลัพธ์ครับ

#4

Post by snasui »

:shock: ตอบเรื่องเงื่อนไขก่อนนะครับ

เช่น ที่ 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 หากกดแป้นถูกต้องจะเห็นเครื่องหมายปีกกาคร่อมสูตร ปีกกานี้จะคีย์เข้าไปเองไม่ได้ครับ :P
You do not have the required permissions to view the files attached to this post.
rocketkenji
Member
Member
Posts: 57
Joined: Sun Jun 26, 2011 1:52 am

Re: ให้Excell แสดงผลลัพธ์ครับ

#5

Post by rocketkenji »

ข้อมูลในช่อง E3 ถึง I7 และ E11 ถึง I15 เป็นค่าที่เราป้อนเข้าไปเองครับ
rocketkenji
Member
Member
Posts: 57
Joined: Sun Jun 26, 2011 1:52 am

Re: ให้Excell แสดงผลลัพธ์ครับ

#6

Post by rocketkenji »

ขอบคุณมากครับ :D
rocketkenji
Member
Member
Posts: 57
Joined: Sun Jun 26, 2011 1:52 am

Re: ให้Excell แสดงผลลัพธ์ครับ

#7

Post by rocketkenji »

ติดอีกนิดครับ ตรงตรวจสอบว่า ลงมัดงานซ้ำไหม ผมลองเปลี่ยนดู มันยังตรวจสอบไม่ได้อะครับ ขอบคุณมากครับ

และจากช่อง B18 - O21 จะมีวิธีการตรวจสอบไหมครับ ว่ามัดงานมัดไหน ที่เรายังไม่ได้ลงข้อมูลลงไปครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30744
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ให้Excell แสดงผลลัพธ์ครับ

#8

Post by snasui »

:lol: เป็นเพราะโจทย์ไม่เคลียร์ครับ ;)

การที่ตรวจสอบว่ามัดงานซ้ำหรือไม่ซ้ำจากไฟล์ที่แนบมาคือ 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 แล้วทดสอบการคีย์ข้อมูล > สังเกตการแสดงผล
rocketkenji
Member
Member
Posts: 57
Joined: Sun Jun 26, 2011 1:52 am

Re: ให้Excell แสดงผลลัพธ์ครับ

#9

Post by rocketkenji »

ถ้าผมย้าย B17 ถึง O21 ไปสร้างในชีสใหม่ ต้องแก้สูตรยังไงครับ

สูตรช่อง G18 G19 G21 ยังผิดอยู่ครับ ค่าที่ได้ต้องได้เท่ากับ

G18 = G3
G19 = H13 + I13
G21 = H3
ขอบคุณมากครับ
You do not have the required permissions to view the files attached to this post.
Last edited by rocketkenji on Sun Jun 26, 2011 3:04 pm, edited 1 time in total.
User avatar
snasui
Site Admin
Site Admin
Posts: 30744
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ให้Excell แสดงผลลัพธ์ครับ

#10

Post by snasui »

:D ไม่ต้องเขียนสูตรใหม่ครับ

ลองตามนี้ครับ

คลุม B17:O21 > คลิกขวา > Cut > ไปที่ชีทใหม่ > คลิกขวาที่เซลล์ที่ต้องการวาง > Paste
rocketkenji
Member
Member
Posts: 57
Joined: Sun Jun 26, 2011 1:52 am

Re: ให้Excell แสดงผลลัพธ์ครับ

#11

Post by rocketkenji »

ช่อง G9ต้องได้ 90 ครับ จาก I6+J6 ผมแยกชีสแล้วนะครับ
ขอบคุณมากครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30744
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ให้Excell แสดงผลลัพธ์ครับ

#12

Post by snasui »

:tt: ปรับสูตรที่ 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 ลงด้านล่าง

สังเกตที่ระบายสีไว้จะสลับกับสูตรเดิม
User avatar
snasui
Site Admin
Site Admin
Posts: 30744
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ให้Excell แสดงผลลัพธ์ครับ

#13

Post by snasui »

rocketkenji wrote:ช่อง G9ต้องได้ 90 ครับ จาก I6+J6 ผมแยกชีสแล้วนะครับ
ขอบคุณมากครับ
ก่อนจะปรับมาเป็นชีทใหม่แก้สูตรตามคำตอบด้านบนก่อนครับ
rocketkenji
Member
Member
Posts: 57
Joined: Sun Jun 26, 2011 1:52 am

Re: ให้Excell แสดงผลลัพธ์ครับ

#14

Post by rocketkenji »

snasui wrote::lol: เป็นเพราะโจทย์ไม่เคลียร์ครับ ;)

การที่ตรวจสอบว่ามัดงานซ้ำหรือไม่ซ้ำจากไฟล์ที่แนบมาคือ 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 แล้วทดสอบการคีย์ข้อมูล > สังเกตการแสดงผล
ลองทำแล้วแต่ไม่ได้ครับ
rocketkenji
Member
Member
Posts: 57
Joined: Sun Jun 26, 2011 1:52 am

Re: ให้Excell แสดงผลลัพธ์ครับ

#15

Post by rocketkenji »

snasui wrote:
rocketkenji wrote:ช่อง G9ต้องได้ 90 ครับ จาก I6+J6 ผมแยกชีสแล้วนะครับ
ขอบคุณมากครับ
ก่อนจะปรับมาเป็นชีทใหม่แก้สูตรตามคำตอบด้านบนก่อนครับ
แก้แล้วครับผม
User avatar
snasui
Site Admin
Site Admin
Posts: 30744
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ให้Excell แสดงผลลัพธ์ครับ

#16

Post by snasui »

rocketkenji wrote:
snasui wrote:
rocketkenji wrote:ช่อง G9ต้องได้ 90 ครับ จาก I6+J6 ผมแยกชีสแล้วนะครับ
ขอบคุณมากครับ
ก่อนจะปรับมาเป็นชีทใหม่แก้สูตรตามคำตอบด้านบนก่อนครับ
แก้แล้วครับผม
:lol: ผมดูไฟล์ที่ส่งมา ยังไม่แก้ครับ :twisted:

Note: วันนี้เนตผมค่อนข้างช้า
rocketkenji
Member
Member
Posts: 57
Joined: Sun Jun 26, 2011 1:52 am

Re: ให้Excell แสดงผลลัพธ์ครับ

#17

Post by rocketkenji »

คลุมที่ แถว F แล้ว ใส่สูตรลงไปได้เลยใช่ไหมครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30744
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ให้Excell แสดงผลลัพธ์ครับ

#18

Post by snasui »

:D ฟอรัมไม่ได้ไว้แชทครับ กรณีไม่มีคำอธิบายเพิ่มเติมหรือข้อสงสัยไม่ควรโพสต์ครับ ผมลบความเห็นที่เขียนว่า งงมากครับ ออกไปแล้ว :twisted:
ผมทำไฟล์มาให้ใหม่ ซึ่งหลังจากแยกชีทแล้ว ดูว่าได้ตามต้องการหรือไม่ครับ พยายามทำตามที่ผมแนะนำก่อน ติดตรงไหนหรือไม่ได้อย่างไรก็ควรอธิบายมาด้วยครับจะได้แก้ตรงประเด็น เนื่องจากวันนี้เนตผมช้ามากก็เลยทำให้ก่อน
You do not have the required permissions to view the files attached to this post.
rocketkenji
Member
Member
Posts: 57
Joined: Sun Jun 26, 2011 1:52 am

Re: ให้Excell แสดงผลลัพธ์ครับ

#19

Post by rocketkenji »

ขอบคุณมากครับผม
rocketkenji
Member
Member
Posts: 57
Joined: Sun Jun 26, 2011 1:52 am

Re: ให้Excell แสดงผลลัพธ์ครับ

#20

Post by rocketkenji »

ถ้าผมเปลี่ยน รหัสสินค้าเป็น 002 แล้ว ใส่ช่วงงานที่ 1 ผมจะใส่มัดงานที่ 1 ไม่ได้ครับ
Post Reply