:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

ต้องการให้สูตรรันตัวเลขที่มีอักษรนำอยู่ด้านหน้าค่ะ

ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
User avatar
suka
Silver
Silver
Posts: 920
Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021

ต้องการให้สูตรรันตัวเลขที่มีอักษรนำอยู่ด้านหน้าค่ะ

#1

Post by suka »

เรียนถามเรื่องสูตรรันตัวเลขที่เซลล์ E4:E7 ต้องการใส่อักษรด้านตัวเลขเหมือนอย่างที่เซลล์ F4:F6
จะปรับสูตรที่เซลล์ำ E4 อย่างไรคะ ขอบคุณค่ะั
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ต้องการให้สูตรรันตัวเลขที่มีอักษรนำอยู่ด้านหน้าค่ะ

#2

Post by snasui »

:D ลองตามนี้ครับ

ที่ E4 คีย์สูตร

=RIGHT(D4)&LOOKUP(2,1/(Sheet1!$A$3:$A$65536=D4),Sheet1!$B$3:$B$65536)+1

Enter > Copy ลงด้านล่าง
User avatar
suka
Silver
Silver
Posts: 920
Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021

Re: ต้องการให้สูตรรันตัวเลขที่มีอักษรนำอยู่ด้านหน้าค่ะ

#3

Post by suka »

อาจารย์คะขออภัยค่ะ ใช้คำถามผิดค่ะ
ต้องการให้สูตรที่เซลล์ E4:E9 รันตัวเลขที่เซลล์ B4:B9 ที่มีอักษรนำหน้าตัวเลขน่ะค่ะ

ขออนุญาตถามข้อสงสัยค่ะ
ที่เซลล์ E4:E5 จากสูตรด้านบนอาจารย์แค่เติม RIGHT(D4)& เพิ่มที่สูตรเท่านั้นก็สามารถนำอักษรและตัวเลขจากเซลล์ F4:F5 มาได้ แต่แปลกตรงที่ลองลบข้อมูลที่เซลล์ F4:F5 ออก ตัวเลขที่ดึงมาตรงเซลล์ E4:E5 ทำไมยังอยู่คะ
ขอบคุณค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: ต้องการให้สูตรรันตัวเลขที่มีอักษรนำอยู่ด้านหน้าค่ะ

#4

Post by bank9597 »

:D ทำตัวอย่างคำตอบมาให้ดูดีกว่าครับ คำถามที่ถามมา มันตีความได้หลายแบบมาก
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
suka
Silver
Silver
Posts: 920
Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021

Re: ต้องการให้สูตรรันตัวเลขที่มีอักษรนำอยู่ด้านหน้าค่ะ

#5

Post by suka »

ขออภัยค่ะ ลืมใส่ตัวอย่างคำตอบค่ะ ตัวอย่างคำตอบที่ต้องการที่คอลัมน์ F ค่ะ

ขอบคุณค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ต้องการให้สูตรรันตัวเลขที่มีอักษรนำอยู่ด้านหน้าค่ะ

#6

Post by snasui »

:D ทีเซลล์ E4 คีย์

=LEFT(LOOKUP(2,1/(Sheet1!$A$3:$A$65536=D4),Sheet1!$B$3:$B$65536),LEN(LOOKUP(2,1/(Sheet1!$A$3:$A$65536=D4),Sheet1!$B$3:$B$65536))-4)&RIGHT(LOOKUP(2,1/(Sheet1!$A$3:$A$65536=D4),Sheet1!$B$3:$B$65536),4)+1

Enter > Copy ลงด้านล่าง เพื่อให้ง่ายแล้วควรดึงค่าออกมาก่อนแล้วค่อยใช้ Left, Right เข้าไปจัดการแทนการเขียน Left, Right ครอบเข้าไปในสูตรตามที่ผมเขียนไว้ให้ตามด้านบน
User avatar
suka
Silver
Silver
Posts: 920
Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021

Re: ต้องการให้สูตรรันตัวเลขที่มีอักษรนำอยู่ด้านหน้าค่ะ

#7

Post by suka »

ขอบคุณค่ะอาจารย์ได้คำตอบตามที่ต้องการเลยค่ะ

สูตรยากมากเลยค่ะ ไม่เข้าใจ Left และ Right กับ -4 ,4 รบกวนอาจารย์พอจะมีลิงค์ให้ศึกษาเพื่อเข้าใจสูตรไหมคะ
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ต้องการให้สูตรรันตัวเลขที่มีอักษรนำอยู่ด้านหน้าค่ะ

#8

Post by snasui »

:D ฟังก์ชั่น Right ดูจากที่นี่ครับ http://office.microsoft.com/th-th/excel ... P010342656
ฟังก์ชั่น Left ดูจากที่นี่ครับ http://office.microsoft.com/th-th/excel ... P010342656
ฟังกชั่น Len ดูจากที่นี่ครับ http://office.microsoft.com/th-th/excel ... P010342656
User avatar
suka
Silver
Silver
Posts: 920
Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021

Re: ต้องการให้สูตรรันตัวเลขที่มีอักษรนำอยู่ด้านหน้าค่ะ

#9

Post by suka »

ขอบคุณมากเลยค่ะอาจารย์
User avatar
suka
Silver
Silver
Posts: 920
Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021

Re: ต้องการให้สูตรรันตัวเลขที่มีอักษรนำอยู่ด้านหน้าค่ะ

#10

Post by suka »

snasui wrote::D ทีเซลล์ E4 คีย์

=LEFT(LOOKUP(2,1/(Sheet1!$A$3:$A$65536=D4),Sheet1!$B$3:$B$65536),LEN(LOOKUP(2,1/(Sheet1!$A$3:$A$65536=D4),Sheet1!$B$3:$B$65536))-4)&RIGHT(LOOKUP(2,1/(Sheet1!$A$3:$A$65536=D4),Sheet1!$B$3:$B$65536),4)+1

Enter > Copy ลงด้านล่าง เพื่อให้ง่ายแล้วควรดึงค่าออกมาก่อนแล้วค่อยใช้ Left, Right เข้าไปจัดการแทนการเขียน Left, Right ครอบเข้าไปในสูตรตามที่ผมเขียนไว้ให้ตามด้านบน
เรียนถามค่ะ อยากจะใช้สูตรด้านบนนี้รันตัวเลขแต่เกิดปัญหาค่ะ
ที่ชีทฟอร์มบันทึก เซลล์ M3 รันเลขที่เอกสาร สูตรที่เซลล์ B2 ชีทกลุ่มเอกสาร ใช้สูตรตามนี้
=LEFT(LOOKUP(2,1/(ข้อมูล!$D$2:$D$65536=A2),ข้อมูล!$B$2:$B$65536),LEN(LOOKUP(2,1/(ข้อมูล!$D$2:$D$65536=A2),ข้อมูล!$B$2:$B$65536))-4)&RIGHT(LOOKUP(2,1/(ข้อมูล!$D$2:$D$65536=A2),ข้อมูล!$B$2:$B$65536),4)+1+E2
พอกดปุ่มบันทึกที่ชีทฟอร์มบันทึก เซลล์ N3 ไม่ได้ค่ะ ( #N/A ) และจะมี Pop Up ขึ้นว่า Run-time error'13' ค่ะ

และโค๊ดแถวนี้ .Range("M3") = .Range("M3") + 1 จะถูกระบายสีเหลืองค่ะ

แต่หากที่ชีทฟอร์มบันทึก เซลล์ M3 รันเลขที่เอกสาร สูตรที่เซลล์ B2 ชีทกลุ่มเอกสาร ใช้สูตรนี้
สูตรที่เซลล์ B2 =LOOKUP(2,1/(ข้อมูล!$D$2:$D$65536=A3),ข้อมูล!$B$2:$B$65536)+1+E3
ที่ชีทฟอร์มบันทึก เซลล์ N3 ( บิลซื้อสินค้า ) จะใช้ได้เป็นปรกติค่ะ
ขอบคุณค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ต้องการให้สูตรรันตัวเลขที่มีอักษรนำอยู่ด้านหน้าค่ะ

#11

Post by snasui »

:D ลอง Code เปลี่ยนเป็นตามด้านล่างครับ

จาก
suka wrote: .Range("M3") = .Range("M3") + 1
เป็น

Code: Select all

If Len(.Range("M3")) = 6 Then
    .Range("M3") = Left(.Range("M3"), 2) & Right(.Range("M3"), 4) + 1
Else
    .Range("M3") = .Range("M3") + 1
End If
User avatar
suka
Silver
Silver
Posts: 920
Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021

Re: ต้องการให้สูตรรันตัวเลขที่มีอักษรนำอยู่ด้านหน้าค่ะ

#12

Post by suka »

ขอบคุณค่ะอาจารย์ สูตรนี้ใช้ได้กับการรันตัวเลขที่มีอักษร 2 ตัว นำหน้าตัวเลขค่ะ

ขอถามเพิ่มอีกหนึ่งข้อค่ะ
หากต้องการให้สูตรรันตัวเลขที่มีอักษรนำหน้าแค่ 1 ตัว และกับ ตัวเลขล้วนๆด้วย แบบสูตรเดียวสามารถใช้ได้ทั้งสามแบบเลยค่ะ
ขอบคุณมากๆค่ะ
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ต้องการให้สูตรรันตัวเลขที่มีอักษรนำอยู่ด้านหน้าค่ะ

#13

Post by snasui »

:D ที่ให้ไปคือ Code VBA ไม่ใช่สูตรครับ

จากที่ถามมาลองปรับปรุงมาดูก่อน ติดตรงไหนแล้วค่อยถามกันต่อ Code ที่ให้ไปน่าจะเป็นแนวทางได้แล้วครับ
User avatar
suka
Silver
Silver
Posts: 920
Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021

Re: ต้องการให้สูตรรันตัวเลขที่มีอักษรนำอยู่ด้านหน้าค่ะ

#14

Post by suka »

เรียนอาจารย์ขอความช่วยเหลือค่ะ
โค๊ดด้านล่างนี้รันตัวเลขที่มีอักษรนำหน้า 2 ตัว ตัวอย่างเลขที่รัน VT2008

Code: Select all

If Len(.Range("M3")) = 6 Then
    .Range("M3") = Left(.Range("M3"), 2) & Right(.Range("M3"), 4) + 1
Else
    .Range("M3") = .Range("M3") + 1
End If
ลองปรับเปลี่ยนโค๊ดเป็นตามด้านล่างนี้ รันตัวเลขที่มีอักษรนำหน้า 1 ตัว ตัวอย่างเลขที่รัน A550106682 สามารถรันได้ค่ะ

Code: Select all

If Len(.Range("M3")) = 10 Then
    .Range("M3") = Left(.Range("M3"), 1) & Right(.Range("M3"), 9) + 1
Else
    .Range("M3") = .Range("M3") + 1
End If
แต่พอลองเอาโค๊ดเพิ่มเข้าไปกับตามนี้รันไม่ได้แล้วค่ะ และ ยังต้องการรันตัวเลขล้วนด้วยค่ะ

Code: Select all

Sub PasteData()
Dim i As Integer
Dim rs As Range
Dim rt As Range
    Application.ScreenUpdating = False
    i = Worksheets("ฟอร์มบันทึก").Range("C21")
    With Worksheets("Template")
        Set rs = .Range(.Range("A2"), .Range("Y" & i + 1))
    End With
    Set rt = Worksheets("ข้อมูล").Range("A65536").End(xlUp).Offset(1, 0)
    If Worksheets("ฟอร์มบันทึก").Range("C21") = True Then
        MsgBox "Please check your data. This transaction already recorded."
        Exit Sub
    End If
    If Worksheets("ฟอร์มบันทึก").Range("B5") = "" Then
        MsgBox "Your data is empty. Fill your data and click record button again."
        Exit Sub
    End If
    rs.Copy: rt.PasteSpecial xlPasteValues

    Application.CutCopyMode = False
    Sheets("ฟอร์มบันทึก").Range("D3,F3,B5:B19,D5:D19,E5:F19,L5:L19,N5:N19,N22").ClearContents
    With Worksheets("ฟอร์มบันทึก")
        If Len(.Range("M3")) = 6 Then
    .Range("M3") = Left(.Range("M3"), 2) & Right(.Range("M3"), 4) + 1
    Else
        .Range("M3") = .Range("M3") + 1
    End If
        If Len(.Range("M3")) = 10 Then
        .Range("M3") = Left(.Range("M3"), 1) & Right(.Range("M3"), 9) + 1
    Else
        .Range("M3") = .Range("M3") + 1
    End If
    End With
    Application.ScreenUpdating = True
End Sub
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ต้องการให้สูตรรันตัวเลขที่มีอักษรนำอยู่ด้านหน้าค่ะ

#15

Post by snasui »

:D ลองปรับในช่วงของ If เป็นตามด้านล่างครับ

Code: Select all

If Len(.Range("M3")) = 6 Then
    .Range("M3") = Left(.Range("M3"), 2) & Right(.Range("M3"), 4) + 1
ElseIf Len(.Range("M3")) = 10 Then
    .Range("M3") = Left(.Range("M3"), 1) & Right(.Range("M3"), 9) + 1
Else
    .Range("M3") = .Range("M3") + 1
End If
User avatar
suka
Silver
Silver
Posts: 920
Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021

Re: ต้องการให้สูตรรันตัวเลขที่มีอักษรนำอยู่ด้านหน้าค่ะ

#16

Post by suka »

Code: Select all

If Len(.Range("M3")) = 6 Then
    .Range("M3") = Left(.Range("M3"), 2) & Right(.Range("M3"), 4) + 1
ElseIf Len(.Range("M3")) = 10 Then
    .Range("M3") = Left(.Range("M3"), 1) & Right(.Range("M3"), 9) + 1
ElseIf Len(.Range("M3")) = 8 Then
    .Range("M3") = Left(.Range("M3"), 0) & Right(.Range("M3"), 8) + 1
Else
    .Range("M3") = .Range("M3") + 1
End If
อาจารย์คะรบกวนดูโค๊ดด้านล่างนี้ให้หน่อยนะคะ ทดสอบแล้วสองอันบนใช่ได้แล้วค่ะ แต่โค๊ดด้านล่างนี้ยังใช้ไม่ได้ค่ะ

Code: Select all

ElseIf Len(.Range("M3")) = 8 Then
    .Range("M3") = Left(.Range("M3"), 0) & Right(.Range("M3"), 8) + 1
จากไฟล์แนบชีทข้อมูล เซลล์ B6 ตัวเลขสุดท้ายเป็นเลข 55010029 แต่สูตรที่ชีทกลุ่มเอกสาร เซลล์ B3 ดึงตัวเลขมาเป็นเลข 550130 นี้ค่ะ
หากใช้ได้ต้องเป็น 55010030 เลขนี้ค่ะ ยังไม่ได้ตามที่ต้องการค่ะ
ขอบคุณค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ต้องการให้สูตรรันตัวเลขที่มีอักษรนำอยู่ด้านหน้าค่ะ

#17

Post by snasui »

:D ไม่จำเป็นต้องใส่เงื่อนไขนั้นเข้าไปครับ เนืองจากถ้านับแล้วไม่ใช่ 10 นับแล้วไม่ใช่ 6 แสดงว่าทั้งหมดเป็นตัวเลข ควรบวกเพิ่มจากค่าเดิมเข้าไปได้เลย นั่นคือเราได้เขียน

Code: Select all

.Range("M3") = .Range("M3") + 1
เอาไว้แล้ว
User avatar
suka
Silver
Silver
Posts: 920
Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021

Re: ต้องการให้สูตรรันตัวเลขที่มีอักษรนำอยู่ด้านหน้าค่ะ

#18

Post by suka »

ขอบคุณค่ะอาจารย์ ได้เอาเงื่อนไขนั้นออกแล้วใช้ได้ค่ะ

ขอรบกวนอีกนิดค่ะหากต้องการรันเฉพาะตัวเลข ที่ชีทกลุ่มเอกสารเซลล์ B2 ให้ใช้สูตรตามนี้
=LOOKUP(2,1/(ข้อมูล!$D$2:$D$65536=A3),ข้อมูล!$B$2:$B$65536)+1+E3 เพื่อดึงตัวเลขจากชีทฟอร์มบันทึก

และถ้าเป็นการรันตัวเลขที่มีอักษรนำหน้าต้องใช้

=LEFT(LOOKUP(2,1/(ข้อมูล!$D$2:$D$65536=A2),ข้อมูล!$B$2:$B$65536),LEN(LOOKUP(2,1/(ข้อมูล!$D$2:$D$65536=A2),ข้อมูล!$B$2:$B$65536))-4)&RIGHT(LOOKUP(2,1/(ข้อมูล!$D$2:$D$65536=A2),ข้อมูล!$B$2:$B$65536),4)+1+E2

ใช่ไหมคะ หากต้องการให้สูตรดึงได้ทั้งตัวเลขล้วนและมีอักษรนำหน้าด้วยได้ไหมค่ะ ขอบคุณค่ะ
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ต้องการให้สูตรรันตัวเลขที่มีอักษรนำอยู่ด้านหน้าค่ะ

#19

Post by snasui »

:D
snasui wrote:หากต้องการให้สูตรดึงได้ทั้งตัวเลขล้วนและมีอักษรนำหน้าด้วยได้ไหมค่ะ
ได้ลองใช้สูตรตามด้านล่างแล้วยังครับ
suka wrote:และถ้าเป็นการรันตัวเลขที่มีอักษรนำหน้าต้องใช้

=LEFT(LOOKUP(2,1/(ข้อมูล!$D$2:$D$65536=A2),ข้อมูล!$B$2:$B$65536),LEN(LOOKUP(2,1/(ข้อมูล!$D$2:$D$65536=A2),ข้อมูล!$B$2:$B$65536))-4)&RIGHT(LOOKUP(2,1/(ข้อมูล!$D$2:$D$65536=A2),ข้อมูล!$B$2:$B$65536),4)+1+E2
หากใช้แล้ว ติดปัญหาตรงไหนครับ :?:
User avatar
suka
Silver
Silver
Posts: 920
Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021

Re: ต้องการให้สูตรรันตัวเลขที่มีอักษรนำอยู่ด้านหน้าค่ะ

#20

Post by suka »

ได้ลองใช้สูตรตามด้านล่างแล้วค่ะ
snasui wrote:
ได้ลองใช้สูตรตามด้านล่างแล้วยังครับ
suka wrote:และถ้าเป็นการรันตัวเลขที่มีอักษรนำหน้าต้องใช้

=LEFT(LOOKUP(2,1/(ข้อมูล!$D$2:$D$65536=A2),ข้อมูล!$B$2:$B$65536),LEN(LOOKUP(2,1/(ข้อมูล!$D$2:$D$65536=A2),ข้อมูล!$B$2:$B$65536))-4)&RIGHT(LOOKUP(2,1/(ข้อมูล!$D$2:$D$65536=A2),ข้อมูล!$B$2:$B$65536),4)+1+E2
ติดปํญหาเฉพาะที่รันเป็นตัวเลขล้วนๆค่ะ จากเลข 8 ตัว พอรันแล้วเหลือ 6 ตัวตามด้านล่างนี้ค่ะ
suka wrote:จากไฟล์แนบชีทข้อมูล เซลล์ B6 ตัวเลขสุดท้ายเป็นเลข 55010029 แต่สูตรที่ชีทกลุ่มเอกสาร เซลล์ B3 ดึงตัวเลขมาเป็นเลข 550130 นี้ค่ะ
หากใช้ได้ต้องเป็น 55010030 เลขนี้ค่ะ ยังไม่ได้ตามที่ต้องการค่ะ
ขอบคุณค่ะ
และพอกดปุ่มบันทึกที่ชีทฟอร์มบันทึก เซลล์ N3 จะเป็น ( #N/A ) ไม่เป็น ( บิลสินค้า ) ค่ะ
Post Reply