Note: The other languages of the website are Google-translated. Back to English
ล็อกอิน  \/ 
x
or
x
สมัครสมาชิก  \/ 
x

or

วิธีค้นหา / ค้นหาค่าในสมุดงานอื่น

บทความนี้พูดถึงวิธีค้นหาค่าและส่งคืนข้อมูลจากสมุดงานอื่นและวิธีค้นหา / ค้นหาค่าจากสมุดงานอื่น ที่นี่ฉันจะแนะนำสามวิธีโดยละเอียด


ข้อมูล Vlookup และส่งคืนค่าจากสมุดงานอื่นใน Excel

ตัวอย่างเช่นคุณกำลังสร้างตารางการซื้อผลไม้ใน Excel และตอนนี้คุณต้อง vlookup ผลไม้จากสมุดงานอื่นและส่งคืนราคาที่เกี่ยวข้องตามภาพหน้าจอด้านล่างที่แสดง ที่นี่ฉันจะแนะนำคุณแก้ปัญหาด้วยฟังก์ชัน VLOOKKUP ใน Excel

1. เปิดสมุดงานทั้งสองที่คุณจะใช้ค่า vlookup และส่งคืนค่าใน

2. เลือกเซลล์ว่างที่คุณจะส่งคืนราคาพิมพ์สูตร = VLOOKUP (B2, [Price.xlsx] Sheet1! $ A $ 1: $ B $ 24,2, FALSE) จากนั้นลาก Fill Handle เพื่อใช้สูตรนี้กับช่วงตามที่คุณต้องการ

หมายเหตุ:
(1) ในสูตรข้างต้น B2 คือผลไม้ที่คุณจะค้นหาจากสมุดงานอื่น Price.xlsx ระบุชื่อไฟล์ของสมุดงานที่คุณจะค้นหา, Sheet1 หมายถึงชื่อแผ่นงานที่คุณจะค้นหาและ A $ 1 : $ B $ 24 คือช่วงที่คุณจะค้นหา คุณสามารถเปลี่ยนได้ตามต้องการ
(2) หลังจากปิดสมุดงานที่คุณค้นหาสูตรจะอัปเดตโดยอัตโนมัติ = VLOOKUP (B2, 'W: \ test \ [Price.xlsx] Sheet1'! $ A $ 1: $ B $ 24,2, FALSE)W: \ test \ คือเส้นทางการบันทึกของสมุดงานที่คุณได้ค้นหา

จนถึงตอนนี้ราคาทั้งหมดกลับถูกต้องตามภาพหน้าจอด้านซ้ายที่แสดง และราคาเหล่านี้จะอัปเดตโดยอัตโนมัติหากสมุดงานต้นฉบับที่คุณค้นหาจากการเปลี่ยนแปลง

หมายเหตุริบบิ้น สูตรซับซ้อนเกินไปที่จะจำ? บันทึกสูตรเป็นรายการข้อความอัตโนมัติเพื่อใช้ซ้ำได้ในคลิกเดียวในอนาคต!
อ่านเพิ่มเติม ...     ทดลองใช้ฟรี

ข้อมูล Vlookup และส่งคืนค่าจากสมุดงานอื่นที่ปิดด้วย VBA

อาจเป็นเรื่องที่สับสนในการกำหนดค่าเส้นทางการบันทึกชื่อไฟล์และแผ่นงานในฟังก์ชัน VLOOKUP วิธีนี้จะแนะนำ VBA เพื่อแก้ปัญหาได้อย่างง่ายดาย

1 กด อื่น ๆ + F11 ปุ่มเพื่อเปิดหน้าต่าง Microsoft Visual Basic for Applications

2 คลิกที่ สิ่งที่ใส่เข้าไป > โมดูลจากนั้นวางโค้ด VBA ด้านล่างลงในหน้าต่างโมดูลการเปิด

VBA: ข้อมูล Vlookup และส่งคืนค่าจากสมุดงานอื่นที่ปิดอยู่

Private Function GetColumn(Num As Integer) As String
If Num <= 26 Then
GetColumn = Chr(Num + 64)
Else
GetColumn = Chr((Num - 1) \ 26 + 64) & Chr((Num - 1) Mod 26 + 65)
End If
End Function
Sub FindValue()
Dim xAddress As String
Dim xString As String
Dim xFileName As Variant
Dim xUserRange As Range
Dim xRg As Range
Dim xFCell As Range
Dim xSourceSh As Worksheet
Dim xSourceWb As Workbook
On Error Resume Next
xAddress = Application.ActiveWindow.RangeSelection.Address
Set xUserRange = Application.InputBox("Lookup values :", "Kutools for Excel", xAddress, Type:=8)
If Err <> 0 Then Exit Sub
Set xUserRange = Application.Intersect(xUserRange, Application.ActiveSheet.UsedRange)
xFileName = Application.GetOpenFilename("Excel Files (*.xlsx), *.xlsx", 1, "Select a Workbook")
If xFileName = False Then Exit Sub
Application.ScreenUpdating = False
Set xSourceWb = Workbooks.Open(xFileName)
Set xSourceSh = xSourceWb.Worksheets.Item(1)
xString = "='" & xSourceWb.Path & Application.PathSeparator & _
"[" & xSourceWb.Name & "]" & xSourceSh.Name & "'!$"
For Each xRg In xUserRange
Set xFCell = xSourceSh.Cells.Find(xRg.Value, , xlValues, xlWhole, , , False)
If Not (xFCell Is Nothing) Then
xRg.Offset(0, 2).Formula = xString & GetColumn(xFCell.Column + 1) & "$" & xFCell.Row
End If
Next
xSourceWb.Close False
Application.ScreenUpdating = True
End Sub
หมายเหตุ: VBA นี้จะส่งคืนค่าในคอลัมน์ซึ่งเป็น 2 คอลัมน์หลังคอลัมน์ที่เลือก ตัวอย่างเช่นฉันเลือกคอลัมน์ B เมื่อใช้ VBA นี้ค่าจะกลับมาในคอลัมน์ D หากคุณต้องการเปลี่ยนคอลัมน์ปลายทางโปรดดูรหัส xRg.Offset (0, 2) .Formula = xString & GetColumn (xFCell.Column + 1) & "$" & xFCell.Row และแทนที่ 2 ไปยังหมายเลขอื่น ๆ ตามที่คุณต้องการ

3 กด F5 หรือคลิกปุ่ม วิ่ง เพื่อเรียกใช้ VBA นี้

4. ในกล่องโต้ตอบเปิดโปรดระบุช่วงข้อมูลที่คุณจะค้นหาและคลิกไฟล์ OK ปุ่ม

5. ตอนนี้โปรดเลือกสมุดงานที่คุณจะค้นหาค่าในการเปิดกล่องโต้ตอบเลือกสมุดงานและคลิกที่ จุดเปิด ปุ่ม

ตอนนี้ค่าที่เลือกทั้งหมดจะถูกค้นหาในสมุดงานปิดที่ระบุและค่าที่เกี่ยวข้องจะถูกส่งกลับในคอลัมน์ที่ระบุ ดูภาพหน้าจอ:


เครื่องมือเพิ่มประสิทธิภาพการทำงานในสำนักงานที่ดีที่สุด

Kutools สำหรับ Excel ช่วยแก้ปัญหาส่วนใหญ่ของคุณและเพิ่มผลผลิตของคุณได้ถึง 80%

  • นำมาใช้ใหม่: ใส่อย่างรวดเร็ว สูตรที่ซับซ้อนแผนภูมิ และสิ่งที่คุณเคยใช้มาก่อน เข้ารหัสเซลล์ ด้วยรหัสผ่าน; สร้างรายชื่อผู้รับจดหมาย และส่งอีเมล ...
  • ซุปเปอร์ฟอร์มูล่าบาร์ (แก้ไขข้อความและสูตรหลายบรรทัดได้อย่างง่ายดาย); การอ่านเค้าโครง (อ่านและแก้ไขเซลล์จำนวนมากได้อย่างง่ายดาย); วางลงในช่วงที่กรองแล้ว...
  • ผสานเซลล์ / แถว / คอลัมน์ โดยไม่สูญเสียข้อมูล แยกเนื้อหาของเซลล์ รวมแถว / คอลัมน์ที่ซ้ำกัน... ป้องกันเซลล์ซ้ำ; เปรียบเทียบช่วง...
  • เลือกซ้ำหรือไม่ซ้ำ แถว; เลือกแถวว่าง (เซลล์ทั้งหมดว่างเปล่า); Super Find และ Fuzzy Find ในสมุดงานจำนวนมาก สุ่มเลือก ...
  • สำเนาถูกต้อง หลายเซลล์โดยไม่เปลี่ยนการอ้างอิงสูตร สร้างการอ้างอิงอัตโนมัติ ถึงหลายแผ่น ใส่สัญลักษณ์แสดงหัวข้อย่อย, กล่องกาเครื่องหมายและอื่น ๆ ...
  • แยกข้อความ, เพิ่มข้อความ, ลบตามตำแหน่ง, ลบ Space; สร้างและพิมพ์ผลรวมย่อยของเพจ แปลงระหว่างเนื้อหาของเซลล์และความคิดเห็น...
  • ซุปเปอร์ฟิลเตอร์ (บันทึกและใช้โครงร่างตัวกรองกับแผ่นงานอื่น ๆ ); การเรียงลำดับขั้นสูง ตามเดือน / สัปดาห์ / วันความถี่และอื่น ๆ ตัวกรองพิเศษ โดยตัวหนาตัวเอียง ...
  • รวมสมุดงานและแผ่นงาน; ผสานตารางตามคอลัมน์สำคัญ แยกข้อมูลออกเป็นหลายแผ่น; Batch แปลง xls, xlsx และ PDF...
  • คุณสมบัติที่ทรงพลังมากกว่า 300 รายการ. รองรับ Office / Excel 2007-2019 และ 365 รองรับทุกภาษา ใช้งานง่ายในองค์กรหรือองค์กรของคุณ ทดลองใช้ฟรี 30 วันเต็ม รับประกันคืนเงิน 60 วัน
kte แท็บ 201905

แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มผลผลิตของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
ด้านล่าง officetab
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    leigh_87 · 2 years ago
    Hi this works great thanks! Would it be at all possible to show me how i would change the code if i have the workbook open that i would like to lookup the data in?