Page 1 of 1

การเปลี่ยนชื่อ....

Posted: Wed Mar 06, 2013 6:26 pm
by mr.zatan
เงื่อนไขมีอยู่ว่า ""ถ้าชื่อTGE 2006ให้เปลี่ยนเป็นET2006 ( ตัวเลขจะเป็นอะไรก็ได้ ไม่จำเป็นต้องเป็น 2006 ข้อสำคัญคือใส่ ET ข้างหน้า)

( ชื่อเดิมอยู่ที่ B3 ชื่อที่เปลี่ยนให้ไปแสดงที่ D3)

Re: การเปลี่ยนชื่อ....

Posted: Wed Mar 06, 2013 6:58 pm
by bank9597
mr.zatan wrote:เงื่อนไขมีอยู่ว่า ""ถ้าชื่อTGE 2006ให้เปลี่ยนเป็นET2006 ( ตัวเลขจะเป็นอะไรก็ได้ ไม่จำเป็นต้องเป็น 2006 ข้อสำคัญคือใส่ ET ข้างหน้า)

( ชื่อเดิมอยู่ที่ B3 ชื่อที่เปลี่ยนให้ไปแสดงที่ D3)
:D ตามโจทย์เลยน่ะครับ
ที่ D3 คีย์ =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(B3,"G",""),"T","")," ","T")

Re: การเปลี่ยนชื่อ....

Posted: Wed Mar 06, 2013 9:09 pm
by mr.zatan
ขอบคุณครับ...

Re: การเปลี่ยนชื่อ....

Posted: Wed Mar 06, 2013 9:51 pm
by mr.zatan
เพิ่มอีกนิดครับ....

1. =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(B3,"G",""),"T","")," ","T")

*** ถ้าชื่อมีตัว B ให้ดึงมาเฉพาะตัวเลข เช่น ( TGB 2007 เป็น 2007 )

Re: การเปลี่ยนชื่อ....

Posted: Wed Mar 06, 2013 10:25 pm
by bank9597
:D
ที่ D3 คีย์ =IF(IFERROR(FIND("B",B3),0)=0,SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(B3,"G",""),"T","")," ","T"),SUBSTITUTE(B3,LEFT(B3,FIND(" ",B3)),"")) คัดลอกลงมา

Re: การเปลี่ยนชื่อ....

Posted: Wed Mar 06, 2013 10:50 pm
by mr.zatan
เปิดใน Office 2003 แล้วมันขึ้น #NAME?

Code: Select all

=IF(_xlfn.IFERROR(FIND("B",B4),0)=0,SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(B4,"G",""),"T","")," ","T"),SUBSTITUTE(B4,LEFT(B4,FIND(" ",B4)),""))
และผมก็ลองเปลี่ยน Code ทุกอย่างเหมือนกันเดะก็ยังขึ้น #NAME? อยู่ดี

ไม่ทราบว่าเป็นเพราะเหตุใดครับ

Re: การเปลี่ยนชื่อ....

Posted: Wed Mar 06, 2013 11:10 pm
by tupthai
IFERROR ใช้ได้เฉพาะ version 2007 ขึ้นไปครับ

Re: การเปลี่ยนชื่อ....

Posted: Wed Mar 06, 2013 11:18 pm
by mr.zatan
tupthai wrote:IFERROR ใช้ได้เฉพาะ version 2007 ขึ้นไปครับ
ใน 2003 พอจะมี Code ไหนที่พอจะทดแทนกันได้มัยครับ

Re: การเปลี่ยนชื่อ....

Posted: Wed Mar 06, 2013 11:26 pm
by tupthai
=IF(ISNUMBER(FIND("B",B3))=FALSE,SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(B3,"G",""),"T","")," ","T"),SUBSTITUTE(B3,LEFT(B3,FIND(" ",B3)),""))

Re: การเปลี่ยนชื่อ....

Posted: Wed Mar 06, 2013 11:38 pm
by mr.zatan
ขอบคุณมากครับ

พอดีไปเจอวิธีอื่นมา....โดยการเพิ่ม Module

Function IFERROR(ToEvaluate As Variant, Default As Variant) As Variant
'Duplicates Excel 2007 functionality (UDF)
If IsArray(ToEvaluate) Then
IFERROR = IIf(IsError(ToEvaluate(1)), Default, ToEvaluate)
Else
IFERROR = IIf(IsError(ToEvaluate), Default, ToEvaluate)
End If
End Function



ก็จะทำให้ใช้ Function IFERROR ได้