Page 1 of 1
สูตรนับค่าที่เป็น TEXT
Posted: Fri Jun 21, 2019 4:10 pm
by rocket
สอบถามสูตรนับค่าที่เป็น Text ซึ่งข้อมูลถูกเก็บไว้แยก sheet ซึ่งต้องการสรุปข้อมูลไว้ใน Sheet เดียวกัน
ตามตัวอย่างในไฟล์แนบค่ะ
Re: สูตรนับค่าที่เป็น TEXT
Posted: Fri Jun 21, 2019 4:32 pm
by rocket
รบกวนผู้รู้ด้วยค่ะ
Re: สูตรนับค่าที่เป็น TEXT
Posted: Fri Jun 21, 2019 11:12 pm
by puriwutpokin
ปรับตารางแต่ละชีทให้อยู่ในตำแหน่งเดียวกันก่อนครับ
และที่ชีท สรุปเกรดที่ C2=IF(SUMPRODUCT(COUNTIF(INDIRECT("'"&ROW(INDIRECT("1:3"))&"'!"&ADDRESS(ROW(C4),2+COUNTA($B$2:B$2),4)),"A"))>SUMPRODUCT(COUNTIF(INDIRECT("'"&ROW(INDIRECT("1:3"))&"'!"&ADDRESS(ROW(C4),2+COUNTA($B$2:B$2),4)),"B")),"A",IF(SUMPRODUCT(COUNTIF(INDIRECT("'"&ROW(INDIRECT("1:3"))&"'!"&ADDRESS(ROW(C4),2+COUNTA($B$2:B$2),4)),"B"))>=2,"B",IF(SUMPRODUCT(COUNTIF(INDIRECT("'"&ROW(INDIRECT("1:3"))&"'!"&ADDRESS(ROW(C4),2+COUNTA($B$2:B$2),4)),"C"))>=2,"C","A"))) คัดลอกทั่วตารางครับ
Re: สูตรนับค่าที่เป็น TEXT
Posted: Sat Jun 22, 2019 2:13 am
by Bo_ry
ถ้าปรับทุกชีทตำแหน่งตรงกัน
C4
=IFERROR(LOOKUP(2,1/(MMULT(COUNTIF(INDIRECT("'"&{1,2,3}&"'!RC",),{"C";"B";"A"}),{1;1;1})=MAX(INDEX(MMULT(COUNTIF(INDIRECT("'"&{1,2,3}&"'!RC",),{"C";"B";"A"}),{1;1;1}),)))/(MMULT(COUNTIF(INDIRECT("'"&{1,2,3}&"'!RC",),{"C";"B";"A"}),{1;1;1})>0),{"C";"B";"A"}),"")
Re: สูตรนับค่าที่เป็น TEXT
Posted: Sat Jun 22, 2019 11:47 am
by snasui
ตัวอย่างสูตร กรณีไม่ปรับบรรทัดให้เท่ากันทุกชีตครับ
C2 คีย์
=INDEX({"A","B","C"},MATCH(TRUE,INDEX(MAX(SUMPRODUCT(COUNTIFS(INDIRECT("'"&{1,2,3}&"'!R2C2:R1000C2",0),$B4,INDIRECT("'"&{1,2,3}&"'!R2C:R1000C",0),"A")),SUMPRODUCT(COUNTIFS(INDIRECT("'"&{1,2,3}&"'!R2C2:R1000C2",0),$B4,INDIRECT("'"&{1,2,3}&"'!R2C:R1000C",0),"B")),SUMPRODUCT(COUNTIFS(INDIRECT("'"&{1,2,3}&"'!R2C2:R1000C2",0),$B4,INDIRECT("'"&{1,2,3}&"'!R2C:R1000C",0),"C")))=CHOOSE({1,2,3},SUMPRODUCT(COUNTIFS(INDIRECT("'"&{1,2,3}&"'!R2C2:R1000C2",0),$B4,INDIRECT("'"&{1,2,3}&"'!R2C:R1000C",0),"A")),SUMPRODUCT(COUNTIFS(INDIRECT("'"&{1,2,3}&"'!R2C2:R1000C2",0),$B4,INDIRECT("'"&{1,2,3}&"'!R2C:R1000C",0),"B")),SUMPRODUCT(COUNTIFS(INDIRECT("'"&{1,2,3}&"'!R2C2:R1000C2",0),$B4,INDIRECT("'"&{1,2,3}&"'!R2C:R1000C",0),"C"))),0),0))
Enter > Copy ไปด้านขวาและลงด้านล่าง
Re: สูตรนับค่าที่เป็น TEXT
Posted: Mon Jun 24, 2019 2:35 pm
by rocket
ขอบคุณทุกท่านค่ะ
Re: สูตรนับค่าที่เป็น TEXT
Posted: Mon Jun 24, 2019 2:57 pm
by rocket
Bo_ry wrote: Sat Jun 22, 2019 2:13 am
ถ้าปรับทุกชีทตำแหน่งตรงกัน
C4
=IFERROR(LOOKUP(2,1/(MMULT(COUNTIF(INDIRECT("'"&{1,2,3}&"'!RC",),{"C";"B";"A"}),{1;1;1})=MAX(INDEX(MMULT(COUNTIF(INDIRECT("'"&{1,2,3}&"'!RC",),{"C";"B";"A"}),{1;1;1}),)))/(MMULT(COUNTIF(INDIRECT("'"&{1,2,3}&"'!RC",),{"C";"B";"A"}),{1;1;1})>0),{"C";"B";"A"}),"")
สอบถามค่ะ
IFFERROR(LOOKUP(2,1
2,1 คืออะไร แทนค่าช่องไหนคะ
ไฟล์ของจริงมีมากกว่า 3 sheet ค่ะ
Re: สูตรนับค่าที่เป็น TEXT
Posted: Mon Jun 24, 2019 3:23 pm
by logic
คำอธิบาย lookup(2,1/...) ดูที่นี่ ~~>
wordpress/last-cell-that-not-blank/
ชื่อชีตเปลี่ยนตรง {1,2,3} หลายชีตก็ใส่ลำดับอื่นเพิ่มเข้าไป หรือจะเขียนไว้สักคอลัมน์แล้วอ้างอิงในสูตรแทน {1,2,3} ครับ
Re: สูตรนับค่าที่เป็น TEXT
Posted: Tue Jun 25, 2019 4:34 pm
by menem
คำตอบของผมอาจจะไม่ตรงกับที่ต้องการนะครับ
เนื่องจาก ถ้ากรอกคะแนนเป็น A B C ผมจะคำนวณ
ออกมาเป็น B (คือใช้วิธี Average )
สูตรช่อง C2
=CHAR(ROUND(
(
IFERROR(CODE(INDEX('1'!$1:$100000,MATCH($B2,'1'!$B:$B,0),COLUMN(C$1))),0)+
IFERROR(CODE(INDEX('2'!$1:$100000,MATCH($B2,'2'!$B:$B,0),COLUMN(C$1))),0)+
IFERROR(CODE(INDEX('3'!$1:$100000,MATCH($B2,'3'!$B:$B,0),COLUMN(C$1))),0)
)/(LEN(INDEX('1'!$1:$100000,MATCH($B2,'1'!$B:$B,0),COLUMN(C$1))&INDEX('2'!$1:$100000,MATCH($B2,'2'!$B:$B,0),COLUMN(C$1))&INDEX('3'!$1:$100000,MATCH($B2,'3'!$B:$B,0),COLUMN(C$1))))-0.01,0))
โดยจะต้องไปแก้ชื่อ นาย ก ในชีท 1,2 และ 3 ให้เหมือนกัน (บางชีทมี 2 space)
Re: สูตรนับค่าที่เป็น TEXT
Posted: Tue Jun 25, 2019 4:57 pm
by menem
แต่ถ้าสามารถปรับโครงสร้างข้อมูล และหน้ารายงานให้เหมือนกันได้
สูตร C4 จะเป็น (หลังจาก Insert row จาก C2 จะกลายเป็น C4)
(ABC = B เหมือนเดิมนะครับ)
=CHAR(ROUND(-0.01+
(IFERROR(CODE('1'!C4),0)+
IFERROR(CODE('2'!C4),0)+
IFERROR(CODE('3'!C4),0)
)/LEN(
'1'!C4&
'2'!C4&
'3'!C4
),0))