Page 1 of 1

อยากได้สูตร เอาจำนวนมา+กัน โดยมีเงื่อนไข

Posted: Thu Feb 21, 2019 2:05 pm
by banknurak
จะเอาค่าของข้อมูลA1 จะเอาตัวเลขเฉพาะที่อยู่ใน () มา +กัน และแสดงผลลัพธ์ในช่อง B2
test.xlsx

Re: อยากได้สูตร เอาจำนวนมา+กัน โดยมีเงื่อนไข

Posted: Thu Feb 21, 2019 4:31 pm
by Bo_ry
B2
=SUMPRODUCT(--TEXT(MID(SUBSTITUTE(SUBSTITUTE(A2,")","("),"(",REPT(" ",90)),ROW(A$1:A$90)*90-89,90),"0.0;;;\0"))

Re: อยากได้สูตร เอาจำนวนมา+กัน โดยมีเงื่อนไข

Posted: Thu Feb 21, 2019 9:49 pm
by Supachok
เรียน ท่านอาจารย์ & คุณ Bory

สอบถามจากสูตร
=SUMPRODUCT(--TEXT(S819012086 1 ,"0.0;;;\0"))
ไม่เข้าใจ format ตัวนี้ "0.0;;;\0" ว่าทำงานแทนค่าอย่างไร

ทำไมได้ S819012086 = 0
ทำไมได้ 1 = 1.1

Re: อยากได้สูตร เอาจำนวนมา+กัน โดยมีเงื่อนไข

Posted: Thu Feb 21, 2019 9:55 pm
by snasui
:D Number Format มี 4 ตำแหน่งให้กำหนดค่าครับ

<ค่าที่มากกว่า 0>;<ค่าที่น้อยกว่า 0>;<ค่าที่เท่ากับ 0>;<ค่าที่เป็น Text>

จากด้านบนแต่ละตำแหน่งคั่นด้วยเครื่องหมาย ;

ปกติเราสามารถกำหนดเป็นเช่น
#,##0;-#,##0;0;"Error"

ถ้าคีย์ตัวเลขที่เป็นบวก จะมีรูปแบบเป็นส่วนแรก
ถ้าคีย์ตัวเลขที่เป็นลบ จะมีรูปแบบเป็นส่วนที่สอง
ถ้าคีย์ตัวเลขที่เป็นศูนย์ จะมีรูปแบบเป็นส่วนที่สาม
ถ้าคีย์ตัวเลขที่เป็นตัวอักษร จะมีรูปแบบเป็นส่วนที่สี่ คือแสดงคำว่า "Error"

Re: อยากได้สูตร เอาจำนวนมา+กัน โดยมีเงื่อนไข

Posted: Thu Feb 21, 2019 10:14 pm
by Supachok
เรียน ท่านอาจารย์

เข้าใจแบบนี้ถูกไหมครับ

"0.0;;;\0"
0.0ค่าบวก;ค่าลบ;0;text

step1 แทนค่า 1,1;;;\0
step2 แทนค่า 1,1;;;S819012086
step3 แทนค่า 1,1;;;"error"

Re: อยากได้สูตร เอาจำนวนมา+กัน โดยมีเงื่อนไข

Posted: Thu Feb 21, 2019 10:19 pm
by snasui
Supachok wrote: Thu Feb 21, 2019 10:14 pm "0.0;;;\0"
0.0ค่าบวก;ค่าลบ;0;text
:D ถูกต้องครับ
Supachok wrote: Thu Feb 21, 2019 10:14 pm step1 แทนค่า 1,1;;;\0
step2 แทนค่า 1,1;;;S819012086
step3 แทนค่า 1,1;;;"error"
จาก Format "0.0;;;\0"
ถ้าคีย์ 1 ได้ 1.0
ถ้าคีย์ -1 ได้ค่าว่าง
ถ้าคีย์ 0 ได้ค่าว่าง
ถ้าคีย์ข้อความ ได้ 0

เครื่องหมาย \ เป็นตัวชี้ว่าให้แสดงอักษรที่ตามหลังเครื่องหมายนี้ เมื่อคีย์เป็น \0 แสดงว่าให้แสดงค่า 0 ถ้าคีย์เป็น \/ หมายถึงให้แสดง / เช่นนี้เป็นต้นครับ