Làm cách nào để tôi định dạng một cách có điều kiện một ô dựa trên các kết quả ô khác nhau?


2

nhập mô tả hình ảnh ở đây

Tôi đang tạo một bảng tính đọc mã vạch để quét một mục vào hoặc ra. Tôi đã sử dụng VB để làm điều này mỗi lần tôi quét mã vạch để nó thêm ngày và giờ theo chiều ngang trên một hàng mỗi lần mã vạch được quét để các ô thay thế được chuyển thành 'in' và 'out' sau đó đọc ngày và giờ.

Những gì tôi đang làm là định dạng ô chứa mã vạch để làm nổi bật màu xanh lá cây nếu vật phẩm ở trong và màu đỏ nếu vật phẩm bị hết. Điều này sau đó sẽ là một tài liệu tham khảo nhanh khi nhìn xuống bảng của tất cả các mục.

Có cách nào để làm việc này không?! Kỹ năng excel của tôi không mạnh lắm nên giờ phải vật lộn một chút!

Câu trả lời:


1

Nó có thể hữu ích cho bạn để có một cột ghi rõ "Ra" hoặc "Vào" dựa trên số lần quét. Mã có thể được đặt trong một cột mới cho mỗi hàng và sẽ cho bạn biết thông tin này. Lưu ý rằng tôi giả sử rằng số lần quét lẻ cho biết trạng thái "Ra" và số lần quét chẵn thể hiện trạng thái "Trong".

Thêm phần này vào một cột mới:

=IF(MOD(COUNTA($B2:$ZZ2),2)=0,"In", "Out")

Trong đó B là cột đầu tiên của tem thời gian và ZZ là cột xa nhất bạn có thể tưởng tượng quét ra ngoài.

COUNTA () đếm số lượng ô không trống. MOD () thực hiện toán tử modulo chỉ ra phần còn lại sau khi chia. IF () đặt giá trị dựa trên kết quả đúng hoặc sai của thử nghiệm.

Từ đó, bạn có thể sử dụng định dạng có điều kiện để tô màu cột "IN / OUT" làm màu thích hợp dựa trên giá trị của chính nó.

Nếu bạn không thể thêm một cột vì mã VBA sẽ cần phải thay đổi và điều đó không được chấp nhận thì bạn chỉ có thể sử dụng công thức này thay cho công thức tôi đưa ra dưới đây cho định dạng có điều kiện của bạn:

=MOD(COUNTA(C1:ZZ1),2)>0

Công thức này sẽ kiểm tra xem nếu hết hàng. Sử dụng công thức này để kiểm tra xem nó có trong:

=MOD(COUNTA(C1:ZZ1),2)<1

Tôi nghĩ rằng đây là một sử dụng tuyệt vời của định dạng có điều kiện!

Bắt đầu bằng cách chọn cột mã vạch và chuyển sang định dạng có điều kiện ở dải băng trên cùng.

Chọn "Quy tắc mới"

Chọn tùy chọn cuối cùng trong danh sách Loại quy tắc: "Sử dụng công thức để xác định các ô cần định dạng."

Trong thanh công thức, sử dụng mã này

=ISNUMBER(FIND("Out",$A2))

Trong đó A2 đại diện cho cột In / Out. Lưu ý rằng ký hiệu đô la giữ cột A nhưng điều chỉnh quy tắc cho mỗi hàng xuống.

Bây giờ chọn định dạng bạn muốn (tức là nền màu cho ô mã vạch).

Sau đó, bạn sẽ lặp lại các bước này để định dạng với nền màu xanh lá cây khi mục là "Trong".

Chỉnh sửa: Chỉ vì thông tin, hàm FIND () cố gắng tìm văn bản đã cho ở một vị trí đã chỉ định. Nếu nó tìm thấy văn bản bạn đang tìm thì nó sẽ trả về vị trí trong chuỗi nơi văn bản bắt đầu, nếu không nó sẽ trả về lỗi. Sau đó, chúng ta có thể sử dụng ISNUMBER () để kiểm tra xem giá trị được trả về có phải là một số hay không và do đó, được đặt trong ô đã chỉ định.


Xin chào Joey, Cảm ơn sự giúp đỡ của bạn, tuy nhiên các ô không nói vào hoặc ra, chúng chỉ có dấu thời gian và sau đó nó gửi đến ô tiếp theo khi được quét lại nên tôi kết thúc bằng một hàng tem thời gian - Tôi không chắc chắn làm thế nào để làm cho nó vào hoặc ra khi tôi sao chép mã VB từ một diễn đàn! Có cách nào để vẫn định dạng trên dấu thời gian không?
Simon Stevens

Bạn có thể chỉnh sửa bài viết gốc của mình bằng một ví dụ không? Nếu tôi hiểu chính xác, hàng của bạn sẽ liên tục tăng chiều dài mỗi lần quét vật phẩm. Điều này có đúng không? Nếu vậy, có công bằng không khi nói rằng nếu có một số lượng lớn tem thời gian thì nó được kiểm tra và một số chẵn có nghĩa là được kiểm tra?
JG7

Tôi đã thêm một ảnh chụp màn hình vào bài viết gốc của mình. Có, tôi sẽ có một dòng phát triển liên tục tùy thuộc vào số lần quét mã vạch. Xin lỗi, hơi khó giải thích!
Simon Stevens

Tôi hiểu. Hãy cho tôi một chút thời gian để chỉnh sửa câu trả lời của tôi.
JG7

Đó là một cơ duyên! Tôi quản lý để sửa đổi VB vì vậy đã đi với công thức đầu tiên của bạn. Cảm ơn rất nhiều vì sự giúp đỡ của bạn.
Simon Stevens
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.