Câu hỏi Làm thế nào tôi có thể kết hợp VLOOKUP trong một câu lệnh IF trong đó chỉ mục cột của hàm VLOOKUP là một số được ngoại suy từ một văn bản?


Tôi có các bảng sau đây trong excel; Product Stock 

Stock Analysis.

Bảng sản phẩm (PST) rộng hơn thế này nhưng vì mục đích của câu hỏi này tôi đã cắt nó xuống.

Tôi muốn tra cứu giá trị trong một cột trong bảng Phân tích Cổ phiếu (NGỒI) khớp với giá trị trong cột Kích thước của bảng Sản phẩm.

Ví dụ: trong trường hợp này, giá trị trong cột Kích thước của bảng Sản phẩm của tôi (PST) Là số 8 vì vậy tôi muốn tìm kiếm giá trị trong Kích thước 8 cột của bảng Phân tích Cổ phiếu của tôi. Nếu giá trị của tôi là 5 sau đó tra cứu Kích thước 5 trong bảng Phân tích Cổ phiếu của tôi (NGỒI).

Lưu ý rằng xác thực dữ liệu đã được thực hiện để đảm bảo rằng các giá trị trong cột Kích thước của bảng Sản phẩm của tôi dựa trên thứ nguyên được chỉ định do đó sẽ chỉ có một phạm vi kích thước cũng là các cột của bảng Phân tích Cổ phiếu

Ngoài ra công thức đã được chèn vào để đảm bảo rằng hàng tiếp theo của NGỒI sẽ luôn có số lô lớn hơn một hàng so với hàng trước đó (nghĩa là có tăng 1 trên hàng loạt cột cho mỗi hàng mới) điều này là để đảm bảo không lặp lại các đợt trong NGỒI


4
2018-05-02 09:43


gốc


Không chắc tôi hoàn toàn hiểu. Bạn đã không dán nhãn bảng của bạn, tôi giả định đầu tiên là PST của bạn và thứ hai là SAT của bạn? Ngoài ra, bạn mong đợi kết quả gì? Bạn đề cập đến cột kích thước của PST của bạn là 8, kết quả sẽ là gì từ bảng SAT của bạn? Tôi giả sử 7? - Kevin Anthony Oppegaard Rose
Vâng, tôi xin lỗi nhưng khi tôi đang gõ câu hỏi có vẻ như với tôi rằng các bảng đã được dán nhãn. Tôi, tuy nhiên, đã cố gắng giải thích thêm. @ g.kov dường như đã giải quyết được vấn đề của tôi. - MrMarho


Các câu trả lời:


Một cái gì đó như thế này?

enter image description here

Công thức trong H12 Là:

=VLOOKUP(E12,$C$6:$H$8,MATCH("Size "&F12,$C$5:$H$5,0),FALSE)

Chỉnh sửa: Công thức trong H12 công trinh.

Phần cung cấp số cột,

MATCH("Size "&F12,$C$5:$H$5,0)

đầu tiên ghép nối tiền tố "Size " với giá trị của F12 (= 8), dẫn đến một chuỗi "Size 8". Sau đó nó xem xét các ô trong hàng tiêu đề $C$5:$H$5  để tìm chuỗi khóa này và trả về một số ô phù hợp, cụ thể là, 6 (ô cuối cùng trong tiêu đề). Sau đó, công thức

=VLOOKUP(E12,$C$6:$H$8,MATCH("Size "&F12,$C$5:$H$5,0),FALSE)

về cơ bản sẽ trở thành

=VLOOKUP(E12,$C$6:$H$8,6,FALSE)

tìm kiếm nội dung của E12 (= 1) trong cột đầu tiên của phạm vi $C$6:$H$8. Nói cách khác, nó chọn hàng, tương ứng với Batch No=1, đó là 1. Và cho số hàng (= 1) và cột (= 6) trong phạm vi $C$6:$H$8, VLOOKUP trả về một giá trị được lưu trữ trong H6, đó là 7.


10
2018-05-02 11:20



Có chính xác những gì tôi đang tìm kiếm. Bạn vừa kết thúc 4 tiếng động não. - MrMarho
Vì vậy, không cần hàm IF của tôi vì việc xác thực dữ liệu đã được thực hiện mà tôi đoán? - MrMarho
@MrMarho: À, luôn luôn có một chỗ cho các lỗi, do đó, nó tùy thuộc vào bạn làm thế nào để xử lý chúng. - g.kov
@ fixer1234: đã thêm - g.kov


Thử index với một kết quả phù hợp với số lô và văn bản Kích thước:

=INDEX(C6:H8,MATCH($E12,$C$6:$C$8,0),MATCH("Size "&$F12,$C$5:$H$5,0))

2
2018-05-02 16:05



Chào mừng bạn đến với Super User. Câu trả lời mà giáo dục tốt hơn so với những người chỉ cung cấp một giải pháp cắt giảm và quá khứ bởi vì họ giúp người đọc hiểu làm thế nào để giải quyết vấn đề tiếp theo. Bạn có thể thêm một vài câu để giải thích cách hoạt động của nó không? Cảm ơn. - fixer1234