Tìm thực thể trong danh sách các thực thể và trả lại giá trị ô khác dựa trên danh mục đó thuộc về excel


0

Tôi muốn tìm một cách hay để có được một giá trị cụ thể dựa trên một danh mục và một đặc điểm khác. Tôi sẽ cố gắng để minh họa nó dưới đây;

Các vấn đề:

1) Tôi muốn kiểm tra một loại thực thể nhất định thuộc về.

2) Dựa trên câu trả lời trong 1) VÀ một yếu tố khác, hãy gọi đó là điểm kinh nghiệm, tôi muốn có thể nhận được giá trị của việc chặn giữa hai người.

Dữ liệu:

Thực thể ............................ XP ............. A ...... ................... B ...................... XP ....... ..... A ............. B Gandalf ......................... 80 ... ....... Gimli .................... Frodo ................. 0-50. ......... 2.5 ......... 3.1
Frodo ............................ 21 ........ Gandalf ..... Phù thủy-vua của Angmar ..... 51-100 ...... 3.3 ......... 4.2
Gimli ..... ........................ 39 ......................... ...................................... 101-150 ..... 4.6 ... ....... 7.4
Phù thủy-vua của Angmar..140

Tức là điều tôi thực sự muốn tìm hiểu là Gandalf sẽ có giá trị 3,3 và vị vua nào của Angmar sẽ có 7.4 mà không cần đọc các bảng chết tiệt. Tôi sẽ đánh giá rất cao một cách thông minh và tinh gọn để làm điều này. Tôi đã thử kết hợp, lập chỉ mục, Vlookuping và xây dựng các macro đơn giản mà không tìm thấy giải pháp đó sẽ khiến dạ dày của bạn nhột theo một cách đặc biệt. Làm ơn giúp tôi!

Câu trả lời:


0

Bạn đã đưa ra câu trả lời. vlookup và index là các chức năng phù hợp để sử dụng.

Đề nghị của tôi sẽ không cố gắng đặt tất cả trong một công thức / ô mà là tách các công thức lên. Ngay bên cạnh trường mà tên Thực thể sẽ được nhập, hãy thực hiện VLOOKUPcho XP. Bên cạnh đó, sử dụng MATCHđể tìm danh mục. Cuối cùng, sử dụng INDEXđể tìm giá trị dựa trên hai cột còn lại. Bạn có thể sử dụng ROUNDđể làm tròn XP đến đúng giá trị ( ROUND(XP/50)trong ví dụ của bạn).

Hy vọng điều này làm cho dạ dày của bạn nhột ;-)


0

Nếu tôi hiểu điều này một cách chính xác, bạn muốn

Index cột 1, cột trận đấu từ 2 đến cột 5, và Return hoặc cột giá trị 6 hoặc 7, tuỳ thuộc vào việc các thực thể là trong cột 3 hoặc 4

Có vẻ như bạn muốn sử dụng Index (Match) để thực hiện hầu hết công việc, như agtoever gợi ý. Ngoài ra, anh ta cũng có tiền với việc bạn sẽ gặp khó khăn khi kết hợp thực thể cụ thể xp với ban nhạc xp oin số tiền vào bảng thứ hai (bên phải).

Điều đầu tiên cần làm là làm tròn XP như đã nêu và cũng để thay đổi các giá trị trong cột XP bên phải nhất thành các giá trị đơn để khớp.

Điều tiếp theo bạn cần làm là cho excel biết nếu thực thể nằm trong cột a hoặc cột b. Có vẻ như toàn bộ bố trí của bạn là một bàn atm. Tôi sẽ đề nghị bạn chia nó thành ba.

Bảng 1

Entitiy | Đặc quyền cụ thể XP | Ban nhạc Entitiy XP | A hoặc B | Trở về cuối cùng

ban 2

Một | B

bàn số 3

Ban nhạc XP | Cột A | Cột B

Điều này có nghĩa là nếu bạn ánh xạ a hoặc b tới từng quyền trong bảng 1, thì bạn có thể kiểm tra bảng 2, để trả về giá trị đúng từ A hoặc B

Bước 1: XP

1.1: thay đổi Dải XP thành một giá trị duy nhất (có thể là tối đa) để nó trông giống như

50 100 150

1.2: tính toán băng tần nào được ủy quyền bằng ROUND như trên.

Bước 2: A hoặc B

Viết một công thức trong cột thứ tư lập chỉ mục tên entitiy, sau đó kiểm tra xem nó có ở cột a trong bảng 2. Nếu nó trả về "A", nếu không, trả về "B"

cái gì đó như

=IF([entitity in this row] = [range A], "A", "B")

Bước 3: Trả về giá trị

Viết một công thức trong cột thứ năm kiểm tra cột thứ tư, sau đó kiểm tra bảng thứ ba cho số cuối cùng, điều này có thể được sử dụng các số liệu IF lồng nhau, VÀ hoặc

cái gì đó như

=IF([entitiy XP band] = [XP band], IF([entity A or B] = "A",[return A in table 3]),[Return B in table 3])

Tôi hy vọng giải thích mã psuedo này hoạt động. Nếu bạn cần rõ ràng hơn, tôi sẽ viết một ví dụ cụ thể khi tôi về nhà tối nay.


0

Vì một số lý do, câu hỏi này không được thêm vào như của riêng tôi nên rất tiếc tôi đã bỏ lỡ những câu trả lời này. Dù sao, cảm ơn bạn rất nhiều, bạn đã hiểu vấn đề chính xác và tìm thấy một giải pháp tốt đẹp.

Dữ liệu thực tế khá lớn, các Dải XP được chia thành nhiều loại hơn, bảng 2 bao gồm AG thay vì AB và thực tế có 3 "bảng 3" khác nhau tùy thuộc vào một loại khác (được xây dựng tương tự như bảng 2 sử dụng XYZ) . Do tất cả điều này, tôi đã chọn một giải pháp tương tự nhưng hơi khác biệt mà tôi nghĩ tôi có thể chia sẻ cho bất kỳ mục đích học tập nào.

Bước một: Lấy dải XP phù hợp đã được giải quyết bằng cách:

=IF(AND(0<=[XP in this row], [XP in this row]<51), "0-50", IF(AND(50<[XP in this row], [XP in this row]<101), "51-100", "101-150"))

Bước 2_ Bắt loại 1, AG:

=IF(ISERROR(MATCH([entity in this row],[range A],0)),IF(ISERROR(MATCH([entity in this row],[range B],0)), "C", "B"), "A")

Bước 3: Tìm bảng nào để sử dụng (loại 2) XZ:

Giải quyết theo cách tương tự như bước 2.

Bước 4: Tìm giải pháp cho từng thực thể và cho tất cả các loại XZ

=INDEX([table X], IF([XP]=[XP band1], 2, IF([XP]=[XP band2], 3, 4)), IF([category1 for entity]="A",2,IF(([category1 for entity]="B", 3, 4)))

Bước 5: Bước cuối cùng mà tôi chọn giá trị của X, Y và Z sẽ sử dụng:

=IF([category 2]="X", [table X], IF([category 2]="Y", [table Y], [table Z]))

Có lẽ không phải là giải pháp đẹp nhất nhưng nó chắc chắn đã làm được điều đó và sẽ giúp tôi tiết kiệm rất nhiều công việc.

Một lần nữa, cảm ơn bạn về các giải pháp được đề xuất, có khả năng bạn có thể đã giải quyết nó theo cách gọn gàng hơn.


Bạn có thể chỉnh sửa câu hỏi ban đầu của riêng bạn nếu bạn có thêm thông tin. Xin vui lòng không đặt thêm thông tin như là một câu trả lời.
mtak
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.