Page 1 of 2
มีปัญหา Condition แบบข้ามทีละ 2 คอลัมพ์และ Dynamic อัตโนมัติ
Posted: Sat Aug 28, 2010 10:14 am
by godman
1.ใน ceLL 14 นี้ถ้าผมอยากให้มันเงื่อนไขว่า
ถ้า เงื่อนไข1 คือ ถ้าเป็น 1 ทั้งหมดให้มันรวมกัน
เงื่อนไข 2 คือ ถ้าเป็น 2 ให้มันรวมกัน
แต่ปัญหาคือถ้าคนมันมีเพิ่มมีลดไม่เท่ากัน ในการคำนวณ
แต่ละครั้งมันจะยุ่งยากในการมาเพิ่มหรือลดคอลัมพ์
ผมอยากทราบว่าสูตรที่จะใช้ในการนี้มีไหมครับ
2.สูตรที่ใช้แทน if (or) จะใช้สูตรใหนดีครับ
คือมันไม่ได้รวมกันแบบคอลัมพ์ต่อเนื่อง
มันข้ามไปทีละ 2 คอลัมพ์อย่างนี้เรื่อยไป
Re: มีปัญหา Condition แบบข้ามทีละ 2 คอลัมพ์และ Dynamic อัตโน
Posted: Sat Aug 28, 2010 10:42 am
by snasui

ลองตามนี้ครับ
ที่ 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))
ทั้งสองสูตรสามารถเพิ่มคอลัมน์ได้ตามต้องการครับ

Re: มีปัญหา Condition แบบข้ามทีละ 2 คอลัมพ์และ Dynamic อัตโน
Posted: Sat Aug 28, 2010 11:48 am
by godman
คือผมอยากให้มันตรวจสอบว่า ใช่ หรือ ไม่ใช่เท่านั้น
ดังนั้นคำตอบใน T14 ต้องเป้น 0 กับ 1
ขยายความ
คือทั้ง 4 คนถ้าตอบเหมื่อนเดิมไม่ว่าจะตอบเป็น2 หรือ 1
ถ้าตอบเหมือนกันจะได้ 1
แต่ถ้ามีตอบไม่เหมือนกันแม้แต่ครั้งเดียวก็ได้ 0
ครับ
แต่ที่อาจารยืให้มาเมื่อผมนำมาวาง มันมี 2 เป็นคำตอบด้วย
Re: มีปัญหา Condition แบบข้ามทีละ 2 คอลัมพ์และ Dynamic อัตโน
Posted: Sat Aug 28, 2010 11:57 am
by snasui

ก็เพราะผมไม่เข้าใจโจทย์ครับ เนื่องจากโจทย์ให้ความหมายอย่างที่ผมเข้าใจ
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 ลงด้านล่าง

Re: มีปัญหา Condition แบบข้ามทีละ 2 คอลัมพ์และ Dynamic อัตโน
Posted: Sat Aug 28, 2010 12:01 pm
by snasui

และทำให้สั้นลงอีกหน่อยเป็น
ที่ 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 ลงด้านล่าง

Re: มีปัญหา Condition แบบข้ามทีละ 2 คอลัมพ์และ Dynamic อัตโน
Posted: Sat Aug 28, 2010 12:24 pm
by godman
ขอบคุณครับ สุดยอดครับ
Re: มีปัญหา Condition แบบข้ามทีละ 2 คอลัมพ์และ Dynamic อัตโน
Posted: Sat Aug 28, 2010 12:45 pm
by godman
จาก sheet GRR Entry Data ถ้าผมอยากจะนับว่า Defect ใหนที่คนตอบซำ้กันมากที่สุด ใช้สูตร frequency ได้ไหมครับ
หลักการและเหตุผลคือ
ต้องการทดสอบความสามารถของเเด้กในการตรวจงาน แต่เด็กต้องดูตัวงานและเขียนว่า acc หรือ rej ถ้า rej แปลว่า reject ก้ให้ระบุสิ่งที่เด็กพบ อาจจะมีเด็กสัก 10 คนอย่างงี้ ในเซลล์ V14 ควรจะใช้สุตรว่าอะไรดีครับเพื่อนับ หรือหาความถี่ของคำตอบของเด็ก
Re: มีปัญหา Condition แบบข้ามทีละ 2 คอลัมพ์และ Dynamic อัตโน
Posted: Sat Aug 28, 2010 12:54 pm
by snasui

ไม่ค่อยเข้าใจครับ
จะนับว่าในแต่ละบรรทัดมี rej หรือ acc อันไหนมากกว่ากันอย่างนั้นหรือเปล่าครับ?
หรือจะนับที่ช่อง Defect ว่าค่าใดซ้ำกันมากที่สุด ยังไม่เคลียร์ครับ

Re: มีปัญหา Condition แบบข้ามทีละ 2 คอลัมพ์และ Dynamic อัตโน
Posted: Sat Aug 28, 2010 1:11 pm
by godman
ขอโทษทีครับ อยากให้ 1 หาว่าคำตอบใดซ้ำกันมากที่สุด (ค่าใหน และ ความถี่กี่ครั้ง ครับ
Re: มีปัญหา Condition แบบข้ามทีละ 2 คอลัมพ์และ Dynamic อัตโน
Posted: Sat Aug 28, 2010 1:17 pm
by snasui
theeranart wrote:ขอโทษทีครับ อยากให้ 1 หาว่าคำตอบใดซ้ำกันมากที่สุด (ค่าใหน และ ความถี่กี่ครั้ง ครับ

ถามเหมือนเดิมครับ
snasui wrote: 
ไม่ค่อยเข้าใจครับ
จะนับว่าในแต่ละบรรทัดมี rej หรือ acc อันไหนมากกว่ากันอย่างนั้นหรือเปล่าครับ?
หรือจะนับที่ช่อง Defect ว่าค่าใดซ้ำกันมากที่สุด ยังไม่เคลียร์ครับ


Re: มีปัญหา Condition แบบข้ามทีละ 2 คอลัมพ์และ Dynamic อัตโน
Posted: Sat Aug 28, 2010 1:38 pm
by godman
นับว่าค่าที่ซำกันมากที่สุดคือค่าอะไร
Re: มีปัญหา Condition แบบข้ามทีละ 2 คอลัมพ์และ Dynamic อัตโน
Posted: Sat Aug 28, 2010 1:54 pm
by snasui

ลองยกตัวอย่างมาในไฟล์แนบมาสัก 2-3 บรรทัดครับ

Re: มีปัญหา Condition แบบข้ามทีละ 2 คอลัมพ์และ Dynamic อัตโน
Posted: Sat Aug 28, 2010 2:17 pm
by godman
ที่ w18 กับ X18 อยากให้มันหาค่าอะไรที่ซำกันมากที่สุด และให้มันนับอะครับว่าคำดังเกล่าวมีความถี่เท่าำหร่
Re: มีปัญหา Condition แบบข้ามทีละ 2 คอลัมพ์และ Dynamic อัตโน
Posted: Sat Aug 28, 2010 2:47 pm
by snasui

ลองตามนี้ครับ
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 ลงด้านล่าง

Re: มีปัญหา Condition แบบข้ามทีละ 2 คอลัมพ์และ Dynamic อัตโน
Posted: Sat Aug 28, 2010 7:13 pm
by godman
ลองแล้วใช้ได้ครับ แต่ว่ามีเรื่องด่วนครับ คือผมอยากให้มันหาอันดับ 2 ด้วย ว่าคืออะไร เพราะว่าถ้าหา max แล้วจะได้ว่าพนักงานส่วนใหญ่ก็จะตอบภูกแต่ถ้าหาอันดับสอง ผมจะศึกษาว่า พนักงานคิดว่าอย่างไร เพื่อจะได้แก้ไขความเข้าใจพนักงานส่วนใหญ่ได้ครับ
Re: มีปัญหา Condition แบบข้ามทีละ 2 คอลัมพ์และ Dynamic อัตโน
Posted: Sat Aug 28, 2010 7:25 pm
by snasui

ใช้ Large แทน Max ครับ
เช่น
Large(Formula,1) คือหาตัวใหญ่สุดอันดับ 1
Large(Formula,2) คือหาตัวใหญ่สุดอันดับ 2
ลองปรับปรุง Code ที่ให้ไปดู ติดขัดตรงไหนถามได้เรื่อย ๆ ครับ
คำว่า Formula ด้านบนคือสูตรเดิมที่อยู่ภายใน Max ครับ
Re: มีปัญหา Condition แบบข้ามทีละ 2 คอลัมพ์และ Dynamic อัตโน
Posted: Sat Aug 28, 2010 7:55 pm
by godman
ตามไฟล์ที่ผมแนบไปเป็นแค่ 10 คนนะครับ ตานี้ผมมีคนอยู่เป็น 100 ผมควรจัดระบบ ไฟล์อย่างไรดี เพราะตอนนี้ใช้วิธี 3 คนต่อไฟล์ ใช้ชื่อไฟล์เป็นชื่อของเด็กเลย เวลาค้นหาก็จะยาก เพราะจะมีตั้ง เกือบร้อย ในโฟล์เดอ ที่จริงพ้นที่ใช้ 1 ไฟล์ก็เหลืออยู่หลายขี้ต แต่ผมก็ไม่มีความรู้ว่าจะต้องจัดการอย่างไรให้คุ้มค่ากับพื้นที่ ข้อสอบ 1 คนต้องสอบ 2 ครั้ง TRY1 TRY2 มี 30 ข้อ และต้องมี ชี้ต 2 ชีตคือ ชี้ตคำนวน กับ ชี้ต report อีก 2 รวามเป็น 3 ชีต
Re: มีปัญหา Condition แบบข้ามทีละ 2 คอลัมพ์และ Dynamic อัตโน
Posted: Sat Aug 28, 2010 8:40 pm
by snasui

ได้ลองปรับให้เป็น Database แล้วยังครับ
เช่น
1. เพิ่มคอลัมน์นักเรียนเข้ามาให้ลงมาในแนวตั้งแทนไปด้านขวา
2. เพิ่มคอลัมน์ Try เข้ามาอีก 1 คอลัมน์่
ตัวอย่าง Sheet GRR Data Entry ก็จะเหลือคอลัมน์หลังปรับข้อมูลหลังจากเป็น Database แล้วเพียง 6 คอลัมน์ ไม่นับ Agree
Re: มีปัญหา Condition แบบข้ามทีละ 2 คอลัมพ์และ Dynamic อัตโน
Posted: Thu Sep 02, 2010 9:01 am
by godman
ทำไมผมทำใช้สูตร Large มันจึงออกมาว่า #NUM! ครับ ผมต้องการหาอันดับ 2 ครับ
Re: มีปัญหา Condition แบบข้ามทีละ 2 คอลัมพ์และ Dynamic อัตโน
Posted: Thu Sep 02, 2010 9:41 am
by snasui
จาก Comment
snasui wrote:
ใช้ 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 ลงด้านล่าง