Excel: Sử dụng tham chiếu ô trong công thức cho công thức trong một ô khác


0

Tôi đã tham gia chỉ để hỏi câu hỏi này vì tôi không chắc liệu nó có thể đạt được nếu không có VBA hay không.

Trong cột AI có danh sách các giá trị, giả sử A1: A9 chứa các giá trị tương ứng "1000" đến "9000".

Trong B1, tôi đang đếm các giá trị như vậy (có thêm văn bản vào ô) = "SDLT" & COUNT (A4, A7) & "đơn vị" với kết quả "đơn vị SDLT 2".

Câu hỏi của tôi là làm thế nào tôi có thể hiển thị các giá trị kết hợp của các ô được tham chiếu trong B1? (kết quả phải là "11000" trong ví dụ này).

Tôi đã chơi xung quanh với INDIRECT và MID để thử và tìm các tài liệu tham khảo nhưng không có kết quả.

Cảm ơn trước


Cách tiếp cận tốt nhất là không sử dụng phạm vi được mã hóa cứng trong B1 (và sau đó cố gắng tìm và cắt nó ra để sử dụng lại), mà thay vào đó sử dụng một tham chiếu trong B1 và ​​tương tự trong C3. Thậm chí tốt hơn, không sử dụng tham chiếu, nhưng viết mã tiêu chí lựa chọn (nghĩa là viết công thức tìm A4: A7 theo quy tắc lựa chọn trong đầu thay vì viết A4: A7), nhưng đó có thể không phải là một tùy chọn.
Aganju

Không chắc chắn bạn thực sự muốn làm điều này, nhưng hãy kiểm tra FORMULATEXT(), bạn có thể kết hợp với một số hàm xử lý chuỗi để tìm nạp các ô được tham chiếu trong công thức một B1cách linh hoạt.
3N1GM4

Aganju thay đổi logic của bạn có ý nghĩa. Đối với ứng dụng của tôi, tôi sẽ cần phải lấy một số cụ thể (2 trong ví dụ) các giá trị "Ngẫu nhiên" từ cột A. "Ngẫu nhiên" trong trường hợp này có thể được xác định theo một số cách, nhưng một cách đơn giản xuất hiện trong tâm trí sẽ bắt đầu từ giá trị lớn nhất và làm việc xuống và điều này có thể được thực hiện bằng cách sử dụng chức năng LARGE chẳng hạn ...
Roman

B1 "SDLT" & (COUNT (LARGE (A1: A9,3), (LARGE (A1: A9,6)))) & "đơn vị" C1 LARGE (A1: A9,3) + (LARGE (A1: A9, 6)) Điều này sẽ hoạt động cho ví dụ và sẽ hoạt động cho ứng dụng của tôi nhưng yêu cầu chỉnh sửa công thức tùy thuộc vào số lượng giá trị cần thiết từ cột A.
Roman

Câu trả lời:


0

Theo nhận xét của tôi, ví dụ bạn có thể làm điều này trong C1:

=SUM(INDIRECT(MID(FORMULATEXT(B1),FIND("(",FORMULATEXT(B1))+1,2)),INDIRECT(MID(FORMULATEXT(B1),FIND(")",FORMULATEXT(B1))-2,2)))

Điều này làm cho một vài giả định:

  • Chỉ có hai ô được chỉ định trong công thức trong B1
  • Danh sách các giá trị trong cột A không bao giờ vượt quá hàng 9
  • Công thức B1chỉ bao gồm một cặp ngoặc đơn

Chúng cũng có thể được xử lý xung quanh, nhưng hy vọng những điều trên ít nhất mang đến cho bạn một điểm khởi đầu cho một giải pháp.


3N1GM4 hoạt động cho ví dụ của tôi và rất gần với những gì tôi cần! Điểm thứ ba trong số các viên đạn của bạn là đúng, biến thể duy nhất sẽ là các giá trị bổ sung được thêm vào hàm COUNT. Điểm 1 và 2 lý tưởng sẽ cần phải được thay đổi trong ứng dụng của tôi. Tôi chưa có thời gian để xem lại công thức của bạn và không quen thuộc với FORMULATEXT vì vậy không thể nhận xét liệu có thể đạt được điều trên hay không nhưng tôi sẽ xem xét về nó
Roman

FORMULATEXT()chỉ trả về công thức từ một ô dưới dạng một chuỗi - tôi cũng không biết về nó cho đến ngày hôm nay. :) Tôi hy vọng bạn có thể giải quyết các hạn chế khác của giải pháp được đề xuất của tôi, như tôi đã đề cập trong câu trả lời của mình, tôi chỉ không có thời gian để tự mình làm điều đó.
3N1GM4
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.