Page 1 of 1

แทนค่า True ใน if

Posted: Fri Jan 25, 2019 1:17 pm
by Supachok
=SUM(IF({FALSE;FALSE;FALSE;TRUE;TRUE;FALSE},{1}))
ได้ค่า {0;0;0;1;1;0}


=SUM(IF({FALSE;FALSE;FALSE;TRUE;TRUE;FALSE},{1;2}))
ได้ค่า {0;0;0;0;0;0;1;2;1;2;0;0}

ต้องการให้สูตรแสดง {0;0;0;1;2;0}
ต้องใส่ค่าอะไรใน true.

Re: แทนค่า True ใน if

Posted: Fri Jan 25, 2019 3:23 pm
by Bo_ry
แบบนี้ได้ไหม
={FALSE;FALSE;FALSE;TRUE;TRUE;FALSE}*(ROW(A1:A6)-MIN(IF({FALSE;FALSE;FALSE;TRUE;TRUE;FALSE},ROW(A1:A6)))+1)

Re: แทนค่า True ใน if

Posted: Fri Jan 25, 2019 3:35 pm
by Supachok
Bo_ry wrote: Fri Jan 25, 2019 3:23 pm แบบนี้ได้ไหม
={FALSE;FALSE;FALSE;TRUE;TRUE;FALSE}*(ROW(A1:A6)-MIN(IF({FALSE;FALSE;FALSE;TRUE;TRUE;FALSE},ROW(A1:A6)))+1)
ไล่วงเล็บไม่ถูกประกอบให้ดูที่คับ

Re: แทนค่า True ใน if

Posted: Fri Jan 25, 2019 3:53 pm
by Supachok
แบบนี้ได้ครับ

=SUM(IF({FALSE;FALSE;FALSE;TRUE;TRUE;FALSE},ROW(A1:A6)-{3}))

Re: แทนค่า True ใน if

Posted: Fri Jan 25, 2019 3:56 pm
by Bo_ry
={FALSE;FALSE;FALSE;TRUE;TRUE;FALSE}*(ROW(A1:A6)-MIN(IF({FALSE;FALSE;FALSE;TRUE;TRUE;FALSE},ROW(A1:A6)))+1)
ตามนี้เลยไม่ได้ใส่อะไรเพิ่ม

เลือก A1:A6 ใส่สูตรแล้วกด Ctrl+Shift+Enter

B1 ใส่สูตรกด F9 ที่ formula bar ดูค่าใน array

Re: แทนค่า True ใน if

Posted: Fri Jan 25, 2019 4:16 pm
by Supachok
Supachok wrote: Fri Jan 25, 2019 3:53 pm แบบนี้ได้ครับ

=SUM(IF({FALSE;FALSE;FALSE;TRUE;TRUE;FALSE},ROW(A1:A6)-{3}))
แต่ยังไม่ตอบโจทย์ที่แท้จริง
ที่ต้องการคือ {FALSE;FALSE;FALSE;TRUE;TRUE;FALSE}
{0;0;0;1;2;0}
ที่ต้องการคือ {T;T;F;F;F;F}
{1;2;0;0;0;0}
ที่ต้องการคือ {F;F;F;F;T;T}
{0;0;0;0;1;2}

ไม่ว่า True จะอยู่ตำแหน่งใด
ก็ให้แสดง 1 ในตำแหน่งแรก
2 ในตำแหน่งสอง
1 ในตำแหน่งที่สาม หรือถ้ามีข้อมูลเพิ่มก็สลับ 1 และ 2 จนจบ.

Re: แทนค่า True ใน if

Posted: Sat Jan 26, 2019 3:40 pm
by Bo_ry
แบบนี้รึเปล่า

True False อยู่ A1:A6
A8 กด CSE
=SUM((MOD(MMULT(--(A1:A6*ROW(A1:A6)>=TRANSPOSE(A1:A6*ROW(A1:A6))),--A1:A6)-1,2)+1)*A1:A6)

Re: แทนค่า True ใน if

Posted: Sun Jan 27, 2019 4:30 pm
by Supachok
ยอดเลยครับ

Re: แทนค่า True ใน if

Posted: Sun Jan 27, 2019 7:34 pm
by Bo_ry
คิดเยอะไป แค่นี้ก็ได้แล้ว

=SUMPRODUCT((MOD(ROW(A1:A6)-1,2)+1)*A1:A6)

เผื่อแทรกแถว
=SUMPRODUCT((MOD(ROW(A1:A6)-ROW(A1),2)+1)*A1:A6)

Re: แทนค่า True ใน if

Posted: Sun Jan 27, 2019 11:59 pm
by DhitiBank
หมายถึงแบบนี้นี่เอง แถมครับ

=SUMPRODUCT((MOD(COUNTIF(OFFSET(A1,,,ROW(A1:A6)),TRUE)-1,2)+1)*A1:A6)

Re: แทนค่า True ใน if

Posted: Mon Jan 28, 2019 8:59 am
by Supachok
DhitiBank wrote: Sun Jan 27, 2019 11:59 pm หมายถึงแบบนี้นี่เอง แถมครับ

=SUMPRODUCT((MOD(COUNTIF(OFFSET(A1,,,ROW(A1:A6)),TRUE)-1,2)+1)*A1:A6)
สูตรนี้ได้ค่าเป็น {2;2;2;2;2}

Re: แทนค่า True ใน if

Posted: Mon Jan 28, 2019 9:00 am
by Supachok
Bo_ry wrote: Sun Jan 27, 2019 7:34 pm คิดเยอะไป แค่นี้ก็ได้แล้ว

=SUMPRODUCT((MOD(ROW(A1:A6)-1,2)+1)*A1:A6)

เผื่อแทรกแถว
=SUMPRODUCT((MOD(ROW(A1:A6)-ROW(A1),2)+1)*A1:A6)

อันนี้ยิ่งดูยิ่งง่าย ไปเจอ MULTT ยิ่งงง..

Re: แทนค่า True ใน if

Posted: Mon Jan 28, 2019 9:11 am
by DhitiBank
Supachok wrote: Mon Jan 28, 2019 8:59 am
DhitiBank wrote: Sun Jan 27, 2019 11:59 pm หมายถึงแบบนี้นี่เอง แถมครับ

=SUMPRODUCT((MOD(COUNTIF(OFFSET(A1,,,ROW(A1:A6)),TRUE)-1,2)+1)*A1:A6)
สูตรนี้ได้ค่าเป็น {2;2;2;2;2}
ไม่ได้แบบนี้เหรอครับ หรือโจทย์คนละแบบครับ?
2019-01-28_09-06-28.png
2019-01-28_09-10-16.png

Re: แทนค่า True ใน if

Posted: Mon Jan 28, 2019 9:20 am
by Supachok
DhitiBank wrote: Mon Jan 28, 2019 9:11 am
Supachok wrote: Mon Jan 28, 2019 8:59 am
DhitiBank wrote: Sun Jan 27, 2019 11:59 pm หมายถึงแบบนี้นี่เอง แถมครับ

=SUMPRODUCT((MOD(COUNTIF(OFFSET(A1,,,ROW(A1:A6)),TRUE)-1,2)+1)*A1:A6)
สูตรนี้ได้ค่าเป็น {2;2;2;2;2}
ไม่ได้แบบนี้เหรอครับ หรือโจทย์คนละแบบครับ?
2019-01-28_09-06-28.png
2019-01-28_09-10-16.png
ขออภัยครับ พอดีดันไปแทน true= 1 , false = 0 ใน cell A1:A6