: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

มีปัญหา Condition แบบข้ามทีละ 2 คอลัมพ์และ Dynamic อัตโนมัติ

ฟอรัมถาม-ตอบปัญหาการใช้งาน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
godman
Silver
Silver
Posts: 643
Joined: Mon Jul 05, 2010 6:18 pm

มีปัญหา Condition แบบข้ามทีละ 2 คอลัมพ์และ Dynamic อัตโนมัติ

#1

Post by godman »

1.ใน ceLL 14 นี้ถ้าผมอยากให้มันเงื่อนไขว่า
ถ้า เงื่อนไข1 คือ ถ้าเป็น 1 ทั้งหมดให้มันรวมกัน
เงื่อนไข 2 คือ ถ้าเป็น 2 ให้มันรวมกัน
แต่ปัญหาคือถ้าคนมันมีเพิ่มมีลดไม่เท่ากัน ในการคำนวณ
แต่ละครั้งมันจะยุ่งยากในการมาเพิ่มหรือลดคอลัมพ์
ผมอยากทราบว่าสูตรที่จะใช้ในการนี้มีไหมครับ

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

Re: มีปัญหา Condition แบบข้ามทีละ 2 คอลัมพ์และ Dynamic อัตโน

#2

Post by snasui »

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

ที่ T14 คีย์หรือ Copy สูตรด้านล่างไปวาง

=IF(OR(SUMPRODUCT(--(ISNUMBER(SEARCH("#",$D$13:$S$13))),$D14:$S14)/SUMPRODUCT(--(ISNUMBER(SEARCH("#",$D$13:$S$13))))=1,SUMPRODUCT(--(ISNUMBER(SEARCH("#",$D$13:$S$13))),$D14:$S14)/SUMPRODUCT(--(ISNUMBER(SEARCH("#",$D$13:$S$13))))=2),SUMPRODUCT(--(ISNUMBER(SEARCH("#",$D$13:$S$13))),$D14:$S14)/SUMPRODUCT(--(ISNUMBER(SEARCH("#",$D$13:$S$13)))),0)

Enter > Copy ลงด้านล่าง

หรือใช้สูตร Array ตามด้านล่าง ซึ่งจะต้องกดแป้นให้รับสูตรด้วย 3 แป้นคือ Ctrl+Shift+Enter

=IF(AVERAGE(IF(ISNUMBER(SEARCH("#",$D$13:$S$13)),$D14:$S14))=1,1,IF(AVERAGE(IF(ISNUMBER(SEARCH("#",$D$13:$S$13)),$D14:$S14))=2,2,0))

ทั้งสองสูตรสามารถเพิ่มคอลัมน์ได้ตามต้องการครับ :mrgreen:
godman
Silver
Silver
Posts: 643
Joined: Mon Jul 05, 2010 6:18 pm

Re: มีปัญหา Condition แบบข้ามทีละ 2 คอลัมพ์และ Dynamic อัตโน

#3

Post by godman »

คือผมอยากให้มันตรวจสอบว่า ใช่ หรือ ไม่ใช่เท่านั้น
ดังนั้นคำตอบใน T14 ต้องเป้น 0 กับ 1
ขยายความ
คือทั้ง 4 คนถ้าตอบเหมื่อนเดิมไม่ว่าจะตอบเป็น2 หรือ 1
ถ้าตอบเหมือนกันจะได้ 1
แต่ถ้ามีตอบไม่เหมือนกันแม้แต่ครั้งเดียวก็ได้ 0
ครับ

แต่ที่อาจารยืให้มาเมื่อผมนำมาวาง มันมี 2 เป็นคำตอบด้วย
User avatar
snasui
Site Admin
Site Admin
Posts: 30761
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: มีปัญหา Condition แบบข้ามทีละ 2 คอลัมพ์และ Dynamic อัตโน

#4

Post by snasui »

:lol: ก็เพราะผมไม่เข้าใจโจทย์ครับ เนื่องจากโจทย์ให้ความหมายอย่างที่ผมเข้าใจ
theeranart wrote:1.ใน ceLL 14 นี้ถ้าผมอยากให้มันเงื่อนไขว่า
ถ้า เงื่อนไข1 คือ ถ้าเป็น 1 ทั้งหมดให้มันรวมกัน
เงื่อนไข 2 คือ ถ้าเป็น 2 ให้มันรวมกัน
โจทย์บอกให้รวมกัน แต่พอผมไปดูในไฟล์ไม่ใช่รวม กลายเป็นแสดง 1 และ 2

ไม่ไ้ด้บอกตามด้านล่างมาตั้งแต่แรกครับ
theeranart wrote:คือผมอยากให้มันตรวจสอบว่า ใช่ หรือ ไม่ใช่เท่านั้น
ดังนั้นคำตอบใน T14 ต้องเป้น 0 กับ 1
ขยายความ
คือทั้ง 4 คนถ้าตอบเหมื่อนเดิมไม่ว่าจะตอบเป็น2 หรือ 1
ถ้าตอบเหมือนกันจะได้ 1
แต่ถ้ามีตอบไม่เหมือนกันแม้แต่ครั้งเดียวก็ได้ 0
ครับบ
จากโจทย์ใหม่ให้เขียนสูตรที่ T14 ตามด้านล่างครับ

=IF(MAX(FREQUENCY(IF(ISNUMBER(SEARCH("#",$D$13:$S$13)),MATCH($D14:$S14,$D14:$S14,0)),COLUMN($D$13:$S$13)-COLUMN($D$13)+1))=COUNTIF($D$13:$S$13,"*#*"),1,0)

Ctrl+Shift+Enter > Copy ลงด้านล่าง :lol: :mrgreen:
User avatar
snasui
Site Admin
Site Admin
Posts: 30761
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: มีปัญหา Condition แบบข้ามทีละ 2 คอลัมพ์และ Dynamic อัตโน

#5

Post by snasui »

:D และทำให้สั้นลงอีกหน่อยเป็น

ที่ T14 คีย์

=(MAX(FREQUENCY(IF(ISNUMBER(SEARCH("#",$D$13:$S$13)),MATCH($D14:$S14,$D14:$S14,0)),COLUMN($D$13:$S$13)-COLUMN($D$13)+1))=COUNTIF($D$13:$S$13,"*#*"))+0

Ctrl+Shift+Enter > Copy ลงด้านล่าง 8-)
godman
Silver
Silver
Posts: 643
Joined: Mon Jul 05, 2010 6:18 pm

Re: มีปัญหา Condition แบบข้ามทีละ 2 คอลัมพ์และ Dynamic อัตโน

#6

Post by godman »

ขอบคุณครับ สุดยอดครับ
godman
Silver
Silver
Posts: 643
Joined: Mon Jul 05, 2010 6:18 pm

Re: มีปัญหา Condition แบบข้ามทีละ 2 คอลัมพ์และ Dynamic อัตโน

#7

Post by godman »

จาก sheet GRR Entry Data ถ้าผมอยากจะนับว่า Defect ใหนที่คนตอบซำ้กันมากที่สุด ใช้สูตร frequency ได้ไหมครับ
หลักการและเหตุผลคือ
ต้องการทดสอบความสามารถของเเด้กในการตรวจงาน แต่เด็กต้องดูตัวงานและเขียนว่า acc หรือ rej ถ้า rej แปลว่า reject ก้ให้ระบุสิ่งที่เด็กพบ อาจจะมีเด็กสัก 10 คนอย่างงี้ ในเซลล์ V14 ควรจะใช้สุตรว่าอะไรดีครับเพื่อนับ หรือหาความถี่ของคำตอบของเด็ก
User avatar
snasui
Site Admin
Site Admin
Posts: 30761
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: มีปัญหา Condition แบบข้ามทีละ 2 คอลัมพ์และ Dynamic อัตโน

#8

Post by snasui »

:roll: ไม่ค่อยเข้าใจครับ

จะนับว่าในแต่ละบรรทัดมี rej หรือ acc อันไหนมากกว่ากันอย่างนั้นหรือเปล่าครับ? :mrgreen:

หรือจะนับที่ช่อง Defect ว่าค่าใดซ้ำกันมากที่สุด ยังไม่เคลียร์ครับ :rz:
godman
Silver
Silver
Posts: 643
Joined: Mon Jul 05, 2010 6:18 pm

Re: มีปัญหา Condition แบบข้ามทีละ 2 คอลัมพ์และ Dynamic อัตโน

#9

Post by godman »

ขอโทษทีครับ อยากให้ 1 หาว่าคำตอบใดซ้ำกันมากที่สุด (ค่าใหน และ ความถี่กี่ครั้ง ครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30761
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: มีปัญหา Condition แบบข้ามทีละ 2 คอลัมพ์และ Dynamic อัตโน

#10

Post by snasui »

:flw:
theeranart wrote:ขอโทษทีครับ อยากให้ 1 หาว่าคำตอบใดซ้ำกันมากที่สุด (ค่าใหน และ ความถี่กี่ครั้ง ครับ
:?:

:D ถามเหมือนเดิมครับ
snasui wrote: :roll: ไม่ค่อยเข้าใจครับ

จะนับว่าในแต่ละบรรทัดมี rej หรือ acc อันไหนมากกว่ากันอย่างนั้นหรือเปล่าครับ? :mrgreen:

หรือจะนับที่ช่อง Defect ว่าค่าใดซ้ำกันมากที่สุด ยังไม่เคลียร์ครับ :rz:
:mrgreen:
godman
Silver
Silver
Posts: 643
Joined: Mon Jul 05, 2010 6:18 pm

Re: มีปัญหา Condition แบบข้ามทีละ 2 คอลัมพ์และ Dynamic อัตโน

#11

Post by godman »

นับว่าค่าที่ซำกันมากที่สุดคือค่าอะไร
User avatar
snasui
Site Admin
Site Admin
Posts: 30761
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: มีปัญหา Condition แบบข้ามทีละ 2 คอลัมพ์และ Dynamic อัตโน

#12

Post by snasui »

:lol: ลองยกตัวอย่างมาในไฟล์แนบมาสัก 2-3 บรรทัดครับ :lol:
godman
Silver
Silver
Posts: 643
Joined: Mon Jul 05, 2010 6:18 pm

Re: มีปัญหา Condition แบบข้ามทีละ 2 คอลัมพ์และ Dynamic อัตโน

#13

Post by godman »

ที่ w18 กับ X18 อยากให้มันหาค่าอะไรที่ซำกันมากที่สุด และให้มันนับอะครับว่าคำดังเกล่าวมีความถี่เท่าำหร่
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30761
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: มีปัญหา Condition แบบข้ามทีละ 2 คอลัมพ์และ Dynamic อัตโน

#14

Post by snasui »

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

1. ที่ W18 คีย์สูตรเพื่อหาค่าซ้ำกันมากที่สุดเฉพาะคอลัมน์ Defect

=INDEX($E18:$T18,MATCH(MAX(IF($E$17:$T$17="Defect",COUNTIF($E18:$T18,$E18:$T18))),IF($E$17:$T$17="Defect",COUNTIF($E18:$T18,$E18:$T18)),0))

Ctrl+Shift+Enter > Copy ลงด้านล่าง

2. ที่ X18 คีย์สูตรเพื่อหาว่าซ้ำกี่ครั้ง

=COUNTIF(E18:T18,W18)

Enter > Copy ลงด้านล่าง :mrgreen:
godman
Silver
Silver
Posts: 643
Joined: Mon Jul 05, 2010 6:18 pm

Re: มีปัญหา Condition แบบข้ามทีละ 2 คอลัมพ์และ Dynamic อัตโน

#15

Post by godman »

ลองแล้วใช้ได้ครับ แต่ว่ามีเรื่องด่วนครับ คือผมอยากให้มันหาอันดับ 2 ด้วย ว่าคืออะไร เพราะว่าถ้าหา max แล้วจะได้ว่าพนักงานส่วนใหญ่ก็จะตอบภูกแต่ถ้าหาอันดับสอง ผมจะศึกษาว่า พนักงานคิดว่าอย่างไร เพื่อจะได้แก้ไขความเข้าใจพนักงานส่วนใหญ่ได้ครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30761
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: มีปัญหา Condition แบบข้ามทีละ 2 คอลัมพ์และ Dynamic อัตโน

#16

Post by snasui »

:D ใช้ Large แทน Max ครับ

เช่น

Large(Formula,1) คือหาตัวใหญ่สุดอันดับ 1
Large(Formula,2) คือหาตัวใหญ่สุดอันดับ 2

ลองปรับปรุง Code ที่ให้ไปดู ติดขัดตรงไหนถามได้เรื่อย ๆ ครับ

คำว่า Formula ด้านบนคือสูตรเดิมที่อยู่ภายใน Max ครับ
godman
Silver
Silver
Posts: 643
Joined: Mon Jul 05, 2010 6:18 pm

Re: มีปัญหา Condition แบบข้ามทีละ 2 คอลัมพ์และ Dynamic อัตโน

#17

Post by godman »

ตามไฟล์ที่ผมแนบไปเป็นแค่ 10 คนนะครับ ตานี้ผมมีคนอยู่เป็น 100 ผมควรจัดระบบ ไฟล์อย่างไรดี เพราะตอนนี้ใช้วิธี 3 คนต่อไฟล์ ใช้ชื่อไฟล์เป็นชื่อของเด็กเลย เวลาค้นหาก็จะยาก เพราะจะมีตั้ง เกือบร้อย ในโฟล์เดอ ที่จริงพ้นที่ใช้ 1 ไฟล์ก็เหลืออยู่หลายขี้ต แต่ผมก็ไม่มีความรู้ว่าจะต้องจัดการอย่างไรให้คุ้มค่ากับพื้นที่ ข้อสอบ 1 คนต้องสอบ 2 ครั้ง TRY1 TRY2 มี 30 ข้อ และต้องมี ชี้ต 2 ชีตคือ ชี้ตคำนวน กับ ชี้ต report อีก 2 รวามเป็น 3 ชีต
User avatar
snasui
Site Admin
Site Admin
Posts: 30761
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: มีปัญหา Condition แบบข้ามทีละ 2 คอลัมพ์และ Dynamic อัตโน

#18

Post by snasui »

:D ได้ลองปรับให้เป็น Database แล้วยังครับ

เช่น
1. เพิ่มคอลัมน์นักเรียนเข้ามาให้ลงมาในแนวตั้งแทนไปด้านขวา
2. เพิ่มคอลัมน์ Try เข้ามาอีก 1 คอลัมน์่

ตัวอย่าง Sheet GRR Data Entry ก็จะเหลือคอลัมน์หลังปรับข้อมูลหลังจากเป็น Database แล้วเพียง 6 คอลัมน์ ไม่นับ Agree
godman
Silver
Silver
Posts: 643
Joined: Mon Jul 05, 2010 6:18 pm

Re: มีปัญหา Condition แบบข้ามทีละ 2 คอลัมพ์และ Dynamic อัตโน

#19

Post by godman »

ทำไมผมทำใช้สูตร Large มันจึงออกมาว่า #NUM! ครับ ผมต้องการหาอันดับ 2 ครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30761
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: มีปัญหา Condition แบบข้ามทีละ 2 คอลัมพ์และ Dynamic อัตโน

#20

Post by snasui »

จาก Comment
snasui wrote::D ใช้ Large แทน Max ครับ

เช่น

Large(Formula,1) คือหาตัวใหญ่สุดอันดับ 1
Large(Formula,2) คือหาตัวใหญ่สุดอันดับ 2

ลองปรับปรุง Code ที่ให้ไปดู ติดขัดตรงไหนถามได้เรื่อย ๆ ครับ

คำว่า Formula ด้านบนคือสูตรเดิมที่อยู่ภายใน Max ครับ
สามารถเขียนสูตรที่ AU14 ตามด้านล่างครับ

=INDEX($E14:$AR14,MATCH(LARGE(IF($E$13:$AR$13="Defect",COUNTIF($E14:$AR14,$E14:$AR14)),2),IF($E$13:$AR$13="Defect",COUNTIF($E14:$AR14,$E14:$AR14)),0))

Ctrl+Shift+Enter > Copy ลงด้านล่าง
Post Reply