Phamanh1998
Thành viên thường trực




- Tham gia
- 12/6/20
- Bài viết
- 267
- Được thích
- 41
- Giới tính
- Nữ
Nếu dữ liệu không có gì thay đổi thì bằng đúng độ dài chuỗi đó trừ đi 4 ký tự " VNĐ" thôi màEm chào anh chị ạ. Hiện nay em đang có một số chuỗi văn bản cần xử lý tìm vị trí của giá trị số cuối cùng xuất hiện trong chuỗi. Chi tiết em đính kèm trong file. Em mong được anh chị hỗ trợ ạ. Em cảm ơn anh chị
Dạ em cảm ơn anh ạ, với dữ liệu ở trên em test đã thành công ạ.Thử:
=AGGREGATE(14,6,ROW(INDIRECT("1:"&LEN(A4)))/ISNUMBER(--MID(A4,ROW(INDIRECT("1:"&LEN(A4))),1)),1)
Dạ nhiều khi thay đổi bằng các kí tự đồng tiền khác anh ạ. Em xin lỗi vì không thêm dữ liệu trường hợp đó làm anh hiểu nhầm ạNếu dữ liệu không có gì thay đổi thì bằng đúng độ dài chuỗi đó trừ đi 4 ký tự " VNĐ" thôi mà![]()
Thử cách khác (dữ liệu chắc mỗi ô không quá 1000 ký tự đâu nhỉ)Em chào anh chị ạ. Hiện nay em đang có một số chuỗi văn bản cần xử lý tìm vị trí của giá trị số cuối cùng xuất hiện trong chuỗi. Chi tiết em đính kèm trong file. Em mong được anh chị hỗ trợ ạ. Em cảm ơn anh chị
=LOOKUP(2,(MID(A1,ROW($1:$1000),1)+1)^0,ROW($1:$1000))
Công thức còn hơi dàiThử cách khác (dữ liệu chắc mỗi ô không quá 1000 ký tự đâu nhỉ)
Mã:=LOOKUP(2,(MID(A1,ROW($1:$1000),1)+1)^0,ROW($1:$1000))
Bác rút gọn em học hỏi với, em có nghĩ ra lookupvalue là số đủ lớn thì lookup vector phải là dãy thứ tự. viết được nhưng không gọn hơn bao nhiêu. Không biết bác làm thế nàoCông thức còn hơi dài
Không thêm index thì lại CSE chắc cũng chẳng lợi hơnMATCH chắc ngắn hơn![]()
Đang nói ngắn màKhông thêm index thì lại CSE chắc cũng chẳng lợi hơn
Vì có nhiều người không biết về công thức mảng, mà mở file lên hay có thói quen click đúp vào công thức để xem, sau đó lại ấn enter và tưởng như là nó không có vấn đề gì. Phòng trường hợp đó thôi anhMà CSE thì có vấn đề gì nhỉ.
Dạ, em cảm ơn anh ạ, công thức của anh đã giúp vấn đề của em được giải quyết ạThử cách khác (dữ liệu chắc mỗi ô không quá 1000 ký tự đâu nhỉ)
Mã:=LOOKUP(2,(MID(A1,ROW($1:$1000),1)+1)^0,ROW($1:$1000))
Bỏ lũy thừaBác rút gọn em học hỏi với, em có nghĩ ra lookupvalue là số đủ lớn thì lookup vector phải là dãy thứ tự. viết được nhưng không gọn hơn bao nhiêu. Không biết bác làm thế nào
Công thức chắc chắn sai ví dụ với A4 = Abcde 8.000 z 9.000.000 VNĐBỏ lũy thừa
=LOOKUP(9,--MID(A4,ROW($1:$1000),1),ROW($1:$1000))
tham khảo công thức mảng =MAX(IFERROR(ROW(INDIRECT("1:"&LEN(A4)))/ISNUMBER(VALUE(MID(A4;ROW(INDIRECT("1:"&LEN(A4)));1)));0))Em chào anh chị ạ. Hiện nay em đang có một số chuỗi văn bản cần xử lý tìm vị trí của giá trị số cuối cùng xuất hiện trong chuỗi. Chi tiết em đính kèm trong file. Em mong được anh chị hỗ trợ ạ. Em cảm ơn anh chị
nếu dữ liệu đề có quy luật là số - dấu cách - đơn vị tiền tệ thì tham khảo công thức =SEARCH(TRIM(RIGHT(SUBSTITUTE(A4;" ";REPT(" ";LEN(A4)));LEN(A4)));A4)-2Em chào anh chị ạ. Hiện nay em đang có một số chuỗi văn bản cần xử lý tìm vị trí của giá trị số cuối cùng xuất hiện trong chuỗi. Chi tiết em đính kèm trong file. Em mong được anh chị hỗ trợ ạ. Em cảm ơn anh chị
Rút ngắn công thức thêmCông thức chắc chắn sai ví dụ với A4 = Abcde 8.000 z 9.000.000 VNĐ
----------
Nếu muốn lấy kết quả cuối cùng thì Giá trị tìm phải > "giá trị lớn nhất có thể có trong dãy". Không thể là Giá trị tìm = "giá trị lớn nhất có thể có trong dãy". Tôi đã viết một lần rồi khi bàn về cấu trúc kiểu như =LOOKUP(2; 1/(A$1:A$10 = "hic hic");B$1:B$10).
Nếu là =LOOKUP(1; 1/(A$1:A$10="hic hic");B$1:B$10) thì với dữ liệu nào đó của A1:A10 kết quả sẽ sai.
Không biết bạn cần tìm vị trí của giá trị số cuối cùng để làm gì?Em chào anh chị ạ. Hiện nay em đang có một số chuỗi văn bản cần xử lý tìm vị trí của giá trị số cuối cùng xuất hiện trong chuỗi. Chi tiết em đính kèm trong file. Em mong được anh chị hỗ trợ ạ. Em cảm ơn anh chị
Công thức chắc chắn sai ví dụ với A4 = Abcde 8.000 z 9.000.000 VNĐ
----------
Nếu muốn lấy kết quả cuối cùng thì Giá trị tìm phải > "giá trị lớn nhất có thể có trong dãy". Không thể là Giá trị tìm = "giá trị lớn nhất có thể có trong dãy". Tôi đã viết một lần rồi khi bàn về cấu trúc kiểu như =LOOKUP(2; 1/(A$1:A$10 = "hic hic");B$1:B$10).
Nếu là =LOOKUP(1; 1/(A$1:A$10="hic hic");B$1:B$10) thì với dữ liệu nào đó của A1:A10 kết quả sẽ sai.
Để khỏi mập mờ thì tôi giải thích thêm cho những ai không tự hiểu được.Rút ngắn công thức thêm
=LOOKUP(1,-MID(A4,ROW($1:$1000),1),ROW($1:$1000))
Ở đây ta có 1 > 0 = max(-9, ..., -1, 0)Giá trị tìm phải > "giá trị lớn nhất có thể có trong dãy"