Khớp INDEX trên nhiều sheet VBA

Tôi làm cách nào để viết một công thức có khả năng kiểm tra trên nhiều trang tính để tìm một ngày cụ thể và sau đó lấy dữ liệu từ trang tính cụ thể có ngày đó?

Tôi đã tìm kiếm khắp nơi trên nhiều trang web và diễn đàn và không thể tìm thấy bất kỳ thứ gì phù hợp với hóa đơn

Tôi đang sử dụng excel 2010. Dữ liệu được kéo chỉ là số đến một điểm thập phân

Những gì tôi có.
Trang tính đầu tiên (31 ngày qua) là nơi tôi kéo dữ liệu vào. Tôi có một công thức cập nhật ngày hiển thị mỗi ngày để các ô riêng lẻ trong cột B hiển thị 31 ngày qua.
Tờ thứ hai (2022) chứa dữ liệu cho năm 2022 được phân tách thành từng tháng (dữ liệu thực và dữ liệu giả).
Tờ thứ ba (2023) chứa dữ liệu cho năm 2023 được phân tách thành từng tháng (dữ liệu giả).
Cả 3 trang tính đều có định dạng và bố cục hoàn toàn giống nhau.

Điều tôi muốn công thức thực hiện là kiểm tra trang tính "2022" để biết ngày cần thiết và lấy dữ liệu từ trang tính đó nếu tìm thấy, nhưng nếu nó không tìm thấy ngày cần thiết, thì hãy chuyển sang trang tính "2023" để tìm

Tôi có các công thức hoạt động riêng lẻ.
=INDEX('2022'. $C$3. $C$389, TRẬN ĐẤU(B3, '2022'. $B$3. $B$389, 0))
=INDEX('2023'. $C$3. $C$389, TRẬN ĐẤU(B3, '2023'. $B$3. $B$389, 0))

B3 - ô chứa ngày trên trang tính "31 ngày qua".
'2022'. $B$3. $B$389 - phạm vi ô mà ngày đang được tìm kiếm trên trang tính "2022".
'2022'. $C$3. $C$389 - phạm vi ô mà dữ liệu đang được lấy từ trang tính "2022".
'2023'. $B$3. $B$389 - phạm vi ô mà ngày đang được tìm kiếm trên trang tính "2023".
'2023'. $C$3. $C$389 - phạm vi ô mà dữ liệu đang được lấy từ trang tính "2023".

Cảm ơn bạn trước

Trả lời

Nicholas Moss nói.
9 tháng 10 năm 2021 lúc 10. 33 giờ chiều

Xin chào

Tôi đang gặp khó khăn khi áp dụng điều này. Tôi đang cố khớp một hàng dữ liệu từ một trang tính để khớp chính xác tập hợp các biến từ một trang tính khác và chọn mục nhập thứ 8 được liên kết với nó, số lượng đơn đặt hàng

Ví dụ: tôi muốn tìm mục khớp chính xác với các chi tiết này từ trang 1 trong trang 2 và nơi chúng khớp chính xác, lấy số lượng đặt hàng được chỉ định trong trang 2. Đây là các cột và hàng. Vì vậy, nếu mục tôi đang xem là "Sheet1. A3. G3" và tìm mục nhập chính xác này trong "Sheet2. "A1. G1000". Giả sử chúng khớp với hàng 15 của trang 2, sau đó tôi muốn chọn mục nhập trong "Trang 2. H15

Sheet1 1 mục nhập
sản phẩm, trọng lượng, loại, người trồng, nhà cung cấp, sẵn có, giá, đơn đặt hàng
bí xanh, 8kg, hộp, hữu cơ, vikram

Trang 2
sản phẩm, trọng lượng, loại, người trồng, nhà cung cấp, sẵn có, giá cả, đơn đặt hàng
bí xanh, 8kg, hộp, hữu cơ, vikram,

Vì vậy, tôi muốn lấy số lượng đặt hàng là 3 từ Sheet2 bằng cách sử dụng phương pháp này

Tôi đã thử nhưng tôi không hiểu đúng. Liệu bạn có thể giúp mình không?

Cảm ơn rất nhiều,

Trân trọng

Nicholas

Trả lời

Vanessa nói.
Ngày 16 tháng 9 năm 2021 lúc 8. 56 giờ sáng

Đây là tiêu chí của tôi.
1. khoảng thời gian. từ Khoảng 1 đến 288
2. Cây. Cây 1, 2, 3 (đây là tiêu chí tôi muốn tính tổng các giá trị, có những cây trùng lặp trong một ngày)
Ngày.

Dưới đây là dữ liệu tôi nhận được các giá trị áp dụng tra cứu Ma trận với nhiều tiêu chí

Khoảng thời gian 26/7/2020 26/7/2020 27/7/2020 27/7/2020 28/7/2020 28/7/2020 28/7/2020
. ) Cây 2 Cây 1 Cây 1 Cây 1 Cây 2 Cây 3 Cây 1
1 0 0. 0517 0 0. 0532 0 0 0. 0530
2 0 0. 0522 0 0. 0521 0 0 0. 0532
3 0 0. 0514 0 0. 0523 0 0 0. 0529
4 0 0. 0519 0 0. 0522 0 0 0. 0531
5 0 0. 0515 0 0. 0518 0 0 0. 0532
.

.
288

Tôi đã sử dụng tra cứu ma trận với nhiều tiêu chí. Tuy nhiên, INDEX là một hàm tra cứu và sẽ chỉ trả về một giá trị từ một ô duy nhất. Mặc dù các giá trị là 0, nhưng tôi muốn lấy tổng số cây cho mỗi ngày và khoảng thời gian

Đây là công thức của tôi.
=IFERROR(INDEX('Nhà máy A'. $C$6. $BV$293,MATCH('Summary_Nhà máy A'. C6,'Nhà máy A'. $B$6. $B$293,0),MATCH('Summary_Plant A'. B6&'Summary_Nhà máy A'. $D$5,'Nhà máy A'. $C$4. $BV$4&'Nhà máy A'. $C$5. $BV$5,0)),0)

Tôi đã thử thêm một hàm tính tổng nhưng kết quả nếu không bằng 0 (không có giá trị), kết quả sai, #value hoặc kết quả không thay đổi. Làm cách nào để kết hợp hàm sum/sumif/sumifs trong công thức? . Hy vọng mẫu trên giúp hình dung nhiệm vụ. Cảm ơn bạn

Trả lời

Alan nói.
27 tháng 8 năm 2021 lúc 11. 53 giờ chiều

Tôi đang cố gắng tìm ra cách sử dụng điều này để khớp với 2 tiêu chí, với chỉ mục trả về giá trị tối đa của tiêu chí thứ hai. Dữ liệu được định dạng trong 3 cột

Cột A - Tên nhân viên
Cột B - Tên người quản lý
Cột C - Ngày được giao cho người quản lý đó

Một nhân viên có thể có nhiều bản ghi trong bảng nếu họ ở dưới quyền của những người quản lý khác nhau vào những thời điểm khác nhau

Tôi muốn xác định tên của người quản lý mà nhân viên đã được chỉ định vào một ngày cụ thể. Vì vậy, tôi muốn khớp tên của nhân viên với Cột A, sau đó tìm ngày tối đa sau ngày tìm kiếm của tôi - và trả về tên của người quản lý

Ví dụ: nếu dữ liệu của tôi trông như thế này

Nhân viên A -- Quản lý Z -- 1/1/2008
Nhân viên A -- Quản lý Y -- 1/8/2015
Nhân viên

Tôi muốn có thể tìm kiếm Nhân viên A vào một ngày tùy ý, giả sử là 25/12/2017 - và nhận được câu trả lời từ Người quản lý Y

Trả lời

Michael nói.
8 tháng 4 năm 2021 lúc 4. 33 giờ chiều

Tôi đang cố lấy giá trị được trả về dựa trên bảng thông tin có phạm vi. Dưới đây là bảng tôi đang làm việc với. Đó là các yêu cầu về túi đối với móng nhà dựa trên diện tích vuông của tấm nhà và chiều cao trung bình của tấm. Tôi muốn có thể trả về một giá trị dựa trên hai đầu vào riêng biệt và trả về đúng hàng và cột

Ví dụ. sàn nhà là 3073 sf (đây là B7 trong bảng tính) và chiều cao trung bình là 4. 08 ft (đây là B12 trong bảng tính). Đó sẽ là 15 (cột thứ ba, hàng thứ tư)

Chiều cao 2000-2500 2500-3000 3000-3500 3500-4000 4000-4500 4500-5000 5000-5500
1. 0-2. 0 8 9 12 14 15 16 17
2. 0-3. 0 9 11 13 15 16 17 19
3. 0-4. 0 10 13 14 15 17 19 20
4. 0-5. 0 11 14 15 16 19 20 22
5. 0-6. 0 12 15 16 17 20 22 22
6. 0-7. 0 13 16 17 18 22 22 23
7. 0-8. 0 15 17 18 19 22 23 24
8. 0-9. 0 16 18 19 19 23 24 26
9. 0-10. 0 17 19 20 20 24 26 26
10. 0-11. 0 18 20 21 22 26 26 27
11. 0-12. 0 19 21 22 22 26 27 28

Ghi chú. Bảng trong trang tính của tôi kéo dài G24. N35

Vấn đề tôi gặp phải là tôi không có các giá trị cụ thể mà tôi đang kiểm tra dọc theo các hàng và cột, nhưng có phạm vi ở cả hai. Công thức hiện tại tôi có ở bên dưới, nhưng tôi nhận được #VALUE. lỗi do 4. 08 chiều cao trung bình bị bỏ sót trong công thức của tôi. Có cách nào tốt hơn để định dạng công thức này nhằm quản lý tất cả các phạm vi của hai giá trị mà tôi cần kiểm tra trong bảng hay tôi thực sự bị mắc kẹt với tất cả các IF lồng nhau?

=@INDEX(H25. N35,NẾU(B12=2. 1,B12=3. 1,B12=4. 1,B12=5. 1,B12=6. 1,B12=7. 1,B12=8. 1,B12=9. 1,B12=10. 1,B12=11. 1,B12<12. 1),11,0)))))))))),IF(B7=2501,B7=3001,B7=3501,B7=4001,B7=4501,B7=5001,B7<5501),7

Trả lời

Domenic Conte nói.
26/10/2020 lúc 12. 26 giờ sáng

Tôi tự hỏi liệu có thể sử dụng tiêu chí từ một trang tính để tìm kiếm thông tin trên biểu đồ thứ hai không.
Tôi muốn xem mức lương hàng năm cho từng chức danh công việc nằm trong phạm vi tối thiểu, trung bình hay tối đa cho từng cấp độ công việc.
Mỗi lần tôi thử đều gặp lỗi.
Biểu đồ 1
CHỨC VỤ CÔNG VIỆC MỨC LƯƠNG HÀNG NĂM TỶ LỆ THỊ TRƯỜNG
Analytics Developer Junior $60,007. 00
Trưởng nhóm nhà phát triển Analytics $95.009. 00
Người kiểm tra tự động hóa cao cấp $95,009. 00
Chuyên viên phân tích nghiệp vụ trung cấp $95,009. 00
Người viết nội dung cao cấp $64,018. 00
Nhà thiết kế hình ảnh cao cấp $110,016. 00
Nhà thiết kế hình ảnh cao cấp $95,009. 00

Biểu đồ 2
Cấp độ chức danh Tối thiểu Trung bình Tối đa
Analytics Developer Junior 60.000 75.000 90.000
Trung cấp 70.000 87.000 104.000
Senior 82,000 103,000 124,000
Automation Tester Junior 56,000 70,000 84,000
Intermediate 70,000 87,000 104,000
Senior 79,000 99,000 119,000
Business Analyst Junior 56,000 70,000 84,000
Intermediate 68,000 85,000 102,000
Senior 85,000 106,000 127,000
Content Writer Junior 54,000 68,000 82,000
Intermediate 64,000 80,000 96,000
Senior 80,000 100,000 120,000
Visual Designer Junior 56,000 70,000 84,000
Intermediate 68,000 85,000 102,000
Senior 85,000 106,000 127,000

Trả lời

Randy Gritton nói.
21 tháng 9 năm 2020 lúc 5. 14 giờ chiều

Tôi đang tìm cách làm một cái gì đó có phần mở rộng cho điều này. Tôi có một giải đấu vòng tròn được thiết lập với 5 cột -- một số trận đấu và bốn cột tên người chơi. Bất kỳ tên người chơi nào cũng có thể nằm trong bất kỳ cột nào trong bốn cột cho bất kỳ trận đấu cụ thể nào. Tôi muốn có thể tìm thấy số trận đấu (hoặc các số) khi một đến bốn người chơi được nhập làm tiêu chí tìm kiếm. Tôi nghĩ rằng phương pháp Khớp chỉ mục sẽ hoạt động nhưng tôi cần trả về một mảng các số khớp (có thể có một hoặc nhiều giá trị) và khớp phải có logic để loại trừ các trường tiêu chí tìm kiếm trống

Trận đấu# Người chơi_1 Người chơi_2 Người chơi_3 Người chơi_4
1 Tom Tim Steve John
2 Mary Alan Jim Tom
3 Alan
4 Jim Mary Tim Alan

Tìm kiếm_1.
Tìm kiếm_2.
Tìm kiếm_3.
Tìm kiếm_4.

Trả về mảng.
Số trận đấu

Ví dụ 1.
Tìm kiếm_1. Alan

Trả về mảng.
2
3
4

Ví dụ 2.
Tìm kiếm_1. John
Tìm kiếm_2. Alan

Trả về mảng.
3

Ví dụ 3.
Tìm kiếm_1. Mary
Tìm kiếm_2. Alan
Tìm kiếm_3. Jim

Trả về mảng.
2
4

Cảm ơn cho bất kỳ cái nhìn sâu sắc về một cách tiếp cận

Trả lời

Desiree nói.
21 tháng 9 năm 2020 lúc 1. 00 giờ chiều

Xin chào, tôi cần trợ giúp bằng cách sử dụng công thức mẫu bên dưới.
=INDEX(B3. E5, TRẬN ĐẤU(H1,A3. A5,0), TRẬN ĐẤU(H2&H3,B1. E1&B2. E2,0))

nó chỉ trả về một dữ liệu thay vì liệt kê các hàng có cùng tiêu chí được đáp ứng

Dưới đây là ví dụ dữ liệu của tôi

*Trang tính 1*(Dữ liệu thô)-
Cột A. Danh sách tên huấn luyện viên (Không phải duy nhất)
Cột B. Tên học sinh
Cột C. Ngày học
Cột D. Thời gian học

*Trang tính 2*-
Ô A1. Tên huấn luyện viên (e. g. Tom)
Ô A2. Ngày học phí (e. g. Thứ Hai)
Ô A3. Thời gian học phí (e. g. 2 giờ chiều)
Ô B1(Cột B). Công thức Xuất danh sách các ô trong cột B phù hợp với tiêu chí.

Tiêu chí là- Hiển thị và liệt kê tất cả tên sinh viên nếu đáp ứng 3 tiêu chí dưới đây.
1) Cột A khớp với ô A1 (Tên huấn luyện viên)
2) Cột C khớp với ô A2 (Ngày học)
3) Column D match with cell A3 (Tuition Time)

Trong Trang tính 2. ô A1, A2, A3, nội dung ô được thay đổi thủ công hàng ngày.
Tôi muốn Trang tính 2. ô B1 cột B để sử dụng công thức liệt kê tất cả tên sinh viên phù hợp với tiêu chí.

Thực sự đánh giá cao bất kỳ sự trợ giúp và thông tin chi tiết nào. . )

Trả lời

RobertH nói.
23 tháng 6 năm 2020 lúc 4. 37 giờ chiều

Tôi gặp khó khăn khi cố gắng lấy nội dung ô dựa trên kết quả khớp hàng và cột. Tôi có một trang tính chứa dữ liệu cơ sở gồm 3 cột (A = Ngày, B = Cơ sở, C = Khách hàng). Trên trang tính 2, chúng tôi muốn hiển thị thông tin theo kiểu lịch tuyến tính bao gồm từng ngày trong năm. Các ngày ở hàng trên cùng bắt đầu từ Cột B. Cột A là danh sách các cơ sở. Chúng tôi muốn đặt khách hàng vào ô thích hợp trong hàng cơ sở chính xác và dưới (các) cột ngày chính xác. Tôi đã thử sử dụng bảng tổng hợp nhưng cuối cùng tôi chỉ nhận được số lượng khách hàng chứ không phải tên khách hàng thực tế trong ô đã cho.
Trong hầu hết các trường hợp, mỗi cơ sở chỉ có một khách hàng mỗi ngày. Nhưng đôi khi một người có thể chỉ có một phần của ngày và người khác có thể có phần của buổi tối. Trong những trường hợp đó, chỉ cần liệt kê cả hai bằng dấu phân cách? .

Tôi chắc chắn có một cách để làm điều này nhưng tìm kiếm khắp nơi và hỏi không mang lại câu trả lời

Trả lời

John nói.
28 tháng 4 năm 2020 lúc 4. 56 giờ chiều

Xin chào,

Tôi có một biểu đồ có nhiều tên trùng lặp trong A và trạng thái của tệp (Hoàn thành hoặc Chưa hoàn thành) trong C. Tôi muốn những cái tên xuất hiện nhiều lần có tên Chưa hoàn thành vào một ngày và Hoàn thành vào ngày khác. Vì vậy, tôi đã làm điều đó và bằng cách sử dụng công thức này. =IF(AND(COUNTIFS(A. A,A2,C. C,"hoàn thành"),COUNTIFS(A. A,A2,C. C,"không đầy đủ")),A2,"")

Vì công thức trên cần được kéo xuống và lặp lại các tên tôi muốn, nên tôi muốn một danh sách khác hiển thị cho tôi các tên được tạo bởi công thức trên một lần theo thứ tự gọn gàng đẹp mắt - lần lượt từng tên một. Ai đó đã cho tôi công thức mảng này hoạt động hoàn hảo. =IFERROR(INDEX($F$2. $F$21,MATCH(0,COUNTIF($G$1). $G1,$F$2. $F$21),0)),"")

Điều tôi hy vọng được giúp đỡ là, bá tước đó cho tôi thấy {1;1;0;1;1;0;1;0;0;1;1;1;0;1;1;0;1;0 . 0 trong lookup_value khớp với tên đó và 0 khớp chính xác mang lại cho tôi. Điều tôi không hiểu sau khi đọc ở trên là, 0 có nghĩa là sai hay đúng? . Tại sao 0 sai khi 0 cho tôi tên tôi muốn? . Ngoài ra, tôi không hiểu tại sao phạm vi lại ở G1 - ý nghĩa

Công thức này bắt đầu từ F2. =IF(AND(COUNTIFS(A. A,A2,C. C,"hoàn thành"),COUNTIFS(A. A,A2,C. C,"không đầy đủ")),A2,"")

Điều này bắt đầu tại G2. =IFERROR(INDEX($F$2. $F$21,MATCH(0,COUNTIF($G$1). $G2,$F$2. $F$21),0)),"")

Nếu ai đó có thể giải thích điều đó thì thật tuyệt vì tôi đang bối rối và việc đánh giá công thức mọi lúc chỉ giúp tôi ở một mức độ nhất định

Tôi có thể sử dụng INDEX và so khớp trong VBA không?

Hàm INDEX và MATCH trong kết hợp VBA là hàm thay thế cho hàm VLOOKUP trong excel . Trong VBA, chúng ta không có quyền sử dụng hàm INDEX và MATCH. Đầu ra là vị trí đầu tiên được tìm thấy cho giá trị nhất định.

Xlookup có hoạt động giữa các trang tính không?

XLOOKUP có thể được sử dụng để trả về các giá trị giữa các bảng tính Excel khác nhau nhưng phải mở cả hai bảng tính thì tính năng này mới hoạt động. Nếu không, Excel sẽ trả về lỗi #REF. lỗi. XLOOKUP trả về kết quả là một tham chiếu ô, thay vì giá trị