Page 1 of 1

ต้องการนับค่าที่ซ้ำกันให้เป็น 1 ถ้าตรงตามเงื่อนไขที่กำหนด

Posted: Tue Apr 10, 2018 7:47 pm
by Rin
ต้องการนับค่าที่ซ้ำกันให้เป็น 1 ถ้าตรงตามเงื่อนไขที่กำหนด
โดยพยายามใช้สูตร =SUMPRODUCT(IF(DATA!$C:$C<>0,(DATA!$B:$B=A3)/COUNTIF(DATA!$C:$C,DATA!$C:$C)))
Shift+Ctrl+Enter>Copy ลงล่าง

แต่ผลลัพธ์ไม่ได้ตามที่หวังค่ะ

Re: ต้องการนับค่าที่ซ้ำกันให้เป็น 1 ถ้าตรงตามเงื่อนไขที่กำหนด

Posted: Tue Apr 10, 2018 8:08 pm
by puriwutpokin
แนบตัวอย่างไฟล์มาดูกันครับ ว่าเป็นอย่างไร และต้องการผลลัพธ์อย่างไร วิธีคิดอย่างไร

Re: ต้องการนับค่าที่ซ้ำกันให้เป็น 1 ถ้าตรงตามเงื่อนไขที่กำหนด

Posted: Tue Apr 10, 2018 8:12 pm
by Rin
ตามไฟล์ที่แนบค่ะ

Re: ต้องการนับค่าที่ซ้ำกันให้เป็น 1 ถ้าตรงตามเงื่อนไขที่กำหนด

Posted: Tue Apr 10, 2018 8:26 pm
by puriwutpokin
Rin wrote: Tue Apr 10, 2018 8:12 pm ตามไฟล์ที่แนบค่ะ
ที่ C2=SUMPRODUCT(--IF(DATA!$C$2:$C$11<>0,DATA!$B$2:$B$11=A2)/COUNTIFS(DATA!$B$2:$B$11,DATA!$B$2:$B$11,DATA!$C$2:$C$11,DATA!$C$2:$C$11)) กด Ctrl+Shift+Enter คัดลอกลงครับ
หรือเอาแบบไม่ต้องกด Array
C2=SUMPRODUCT(((DATA!$C$2:$C$11<>0)*(DATA!$B$2:$B$11=A2))/COUNTIFS(DATA!$B$2:$B$11,DATA!$B$2:$B$11,DATA!$C$2:$C$11,DATA!$C$2:$C$11))คัดลอกลงครับ

Re: ต้องการนับค่าที่ซ้ำกันให้เป็น 1 ถ้าตรงตามเงื่อนไขที่กำหนด

Posted: Tue Apr 10, 2018 10:03 pm
by Rin
ถ้าเพิ่มเงื่อนไขให้นับตามรหัสคอร์สที่กำหนด ต้องปรับปรุงสูตรอย่างไรคะ

Re: ต้องการนับค่าที่ซ้ำกันให้เป็น 1 ถ้าตรงตามเงื่อนไขที่กำหนด

Posted: Tue Apr 10, 2018 10:04 pm
by Rin
ไฟล์แนบค่ะ

Re: ต้องการนับค่าที่ซ้ำกันให้เป็น 1 ถ้าตรงตามเงื่อนไขที่กำหนด

Posted: Tue Apr 10, 2018 10:16 pm
by puriwutpokin
Rin wrote: Tue Apr 10, 2018 10:04 pm ไฟล์แนบค่ะ
ที่ C2=SUMPRODUCT((DATA!$B$2:$B$11=$A2)*(LEFT(DATA!$C$2:$C$11,4)=C$1)/COUNTIFS(DATA!$B$2:$B$11,DATA!$B$2:$B$11,DATA!$C$2:$C$11,DATA!$C$2:$C$11)) คัดลอกทั่วตารางครับ

Re: ต้องการนับค่าที่ซ้ำกันให้เป็น 1 ถ้าตรงตามเงื่อนไขที่กำหนด

Posted: Tue Apr 10, 2018 11:19 pm
by Rin
ขอบคุณมากๆ นะคะ

Re: ต้องการนับค่าที่ซ้ำกันให้เป็น 1 ถ้าตรงตามเงื่อนไขที่กำหนด

Posted: Fri Apr 13, 2018 5:22 pm
by Rin
เดิมคุณpuriwutpokin แนะนำให้ใช้สูตรที่1 ซึ่งผลออกมาตรงตามวัตถุประสงค์ค่ะ แต่ข้อมูลในชีท DATA จะเพิ่มขึ้นอีกเรื่อยดิฉันจึงเพิ่มจาก B11 และ C11 แถว เป็น B100 และ C100

ผลที่ได้จึงแสดงดังตารางที่แนบค่ะ มีวิธีแก้ปัญหาอย่างไรค่ะ

Re: ต้องการนับค่าที่ซ้ำกันให้เป็น 1 ถ้าตรงตามเงื่อนไขที่กำหนด

Posted: Fri Apr 13, 2018 6:12 pm
by puriwutpokin
Rin wrote: Fri Apr 13, 2018 5:22 pm เดิมคุณpuriwutpokin แนะนำให้ใช้สูตรที่1 ซึ่งผลออกมาตรงตามวัตถุประสงค์ค่ะ แต่ข้อมูลในชีท DATA จะเพิ่มขึ้นอีกเรื่อยดิฉันจึงเพิ่มจาก B11 และ C11 แถว เป็น B100 และ C100

ผลที่ได้จึงแสดงดังตารางที่แนบค่ะ มีวิธีแก้ปัญหาอย่างไรค่ะ
ปรับเป็นที่ C2=SUMPRODUCT((OFFSET(DATA!$B$2,,,COUNTA(DATA!$B$2:$B$100))=$A2)*(LEFT(OFFSET(DATA!$C$2,,,COUNTA(DATA!$C$2:$C$100)),4)=C$1)/COUNTIFS(OFFSET(DATA!$B$2,,,COUNTA(DATA!$B$2:$B$100)),OFFSET(DATA!$B$2,,,COUNTA(DATA!$B$2:$B$100)),OFFSET(DATA!$C$2,,,COUNTA(DATA!$C$2:$C$100)),OFFSET(DATA!$C$2,,,COUNTA(DATA!$C$2:$C$100)))) คัดลอกไปทั่วตารางครับ

หรือเอาแบบสั้นหน่อยแต่เป็น Array ก็ที่ C2=SUMPRODUCT(IFERROR((DATA!$B$2:$B$100=$A2)*(LEFT(DATA!$C$2:$C$100,4)=C$1)/COUNTIFS(DATA!$B$2:$B$100,DATA!$B$2:$B$100,DATA!$C$2:$C$100,DATA!$C$2:$C$100),0)) กด Ctrl+Shift+Enter คัดลอกไปทั่วตารางครับ

Re: ต้องการนับค่าที่ซ้ำกันให้เป็น 1 ถ้าตรงตามเงื่อนไขที่กำหนด

Posted: Fri Apr 13, 2018 8:26 pm
by snasui
Rin wrote: Fri Apr 13, 2018 5:22 pm เดิมคุณpuriwutpokin แนะนำให้ใช้สูตรที่1 ซึ่งผลออกมาตรงตามวัตถุประสงค์ค่ะ แต่ข้อมูลในชีท DATA จะเพิ่มขึ้นอีกเรื่อยดิฉันจึงเพิ่มจาก B11 และ C11 แถว เป็น B100 และ C100

ผลที่ได้จึงแสดงดังตารางที่แนบค่ะ มีวิธีแก้ปัญหาอย่างไรค่ะ
:D อีกตัวอย่างสูตรครับ

ที่ชีต Report เซลล์ C2 คีย์

=SUM(IF(FREQUENCY(IF(DATA!$B$2:$B$11=$A2,IF(LEFT(DATA!$C$2:$C$11,4)=C$1,MATCH(DATA!$C$2:$C$11,DATA!$C$2:$C$11,0))),ROW(DATA!$C$2:$C$11)-ROW(DATA!$C$2)+1),1))

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

Re: ต้องการนับค่าที่ซ้ำกันให้เป็น 1 ถ้าตรงตามเงื่อนไขที่กำหนด

Posted: Sat Apr 14, 2018 4:42 pm
by Rin
ขอบคุณอาจารย์ทั้ง 2 ท่าน มากๆ นะคะ ใช้ได้ทั้ง 3 สูตรเลยค่ะ