Làm cách nào để giữ cho các công thức và phạm vi định dạng có điều kiện tự động thay đổi?


24

Tôi đã thấy rằng các công thức và phạm vi định dạng có điều kiện sẽ tự động điều chỉnh khi bạn sao chép, xóa hoặc di chuyển dữ liệu trong bảng tính. Mặc dù đây là một ý tưởng hay, nhưng nó có xu hướng phá vỡ mọi thứ đối với tôi theo một số cách khá kỳ lạ.

Để tránh điều này, tôi đã thử viết các quy tắc áp dụng cho toàn bộ bảng tính và khóa các tiêu đề cột để làm nổi bật dữ liệu tôi muốn kiểm tra.

Ví dụ: =AND(A$1="Check This Column For Blanks),ISBLANK(A1))áp dụng cho=$1:$1048576

Tuy nhiên, ngay cả với quy tắc được áp dụng rõ ràng cho toàn bộ trang tính, nó vẫn tự động điều chỉnh (và phá vỡ theo những cách kỳ lạ bằng cách làm như vậy) khi tôi làm việc trong trang tính.

Làm thế nào tôi có thể tránh điều này?


Có lẽ bạn không thể sử dụng toàn bộ bảng tính ... Bạn có thể đưa ra một ví dụ cụ thể hơn về những gì bạn đang làm không?
Doktoro Reichard

Có lẽ bạn có thể có một ảnh chụp màn hình và chỉ ra những khu vực bị phá vỡ?
Jerry

@JohnBensin Nghe có vẻ như chính xác những gì tôi đang tìm kiếm. Tôi sẽ cố nhớ điều đó vào lần tới.
Iszi

@Iszi Tôi đã thêm nó như một câu trả lời. Tôi chắc chắn bạn biết cách thêm các phạm vi được đặt tên, nhưng tôi bao gồm các chi tiết trong câu trả lời cho khách truy cập trong tương lai (và vì khi tôi mới sử dụng Excel, tôi không bao giờ có thể nhớ được).
John Bensin

Một bài viết về chính xác những gì sai: cơn ác mộng định dạng có điều kiện Excel 2010 . Họ chắc chắn đã làm cho nó tồi tệ hơn rất nhiều trong khi cố gắng làm cho nó tốt hơn một chút ...
RomanSt

Câu trả lời:


7

Khi tôi cần một phạm vi không nên thay đổi trong bất kỳ trường hợp nào, bao gồm di chuyển, chèn và xóa các ô, tôi đã sử dụng một phạm vi được đặt tên và INDIRECThàm.

Ví dụ: nếu tôi muốn một phạm vi luôn áp dụng cho các ô A1:A50, tôi đã xác định một phạm vi được đặt tên thông qua Trình quản lý tên:

thêm phạm vi được đặt tên

Trong Trình quản lý tên, thêm phạm vi mới (nhấp vào Mới) và trong trường Tham chiếu đến :, sử dụng hàm INDIRECT để chỉ định phạm vi ô bạn muốn, ví dụ: =INDIRECT("A1:A50")hoặc =INDIRECT("Sheet!A1:A50"). Vì phạm vi về mặt kỹ thuật chỉ là một đối số văn bản, không có số lượng ô sắp xếp lại nào sẽ khiến Excel cập nhật nó.

Ngoài ra, điều này hoạt động trong ít nhất Excel 2010 và Excel 2013. Mặc dù ảnh chụp màn hình của tôi là từ năm 2013, tôi đã sử dụng kỹ thuật chính xác này vào năm 2010 trong quá khứ.

Hãy cẩn thận

  1. Hãy nhớ rằng sự bất biến này cũng có thể làm bạn vấp ngã. Ví dụ: nếu bạn thay đổi tên của trang tính, phạm vi được đặt tên sẽ bị phá vỡ.

  2. Tôi đã nhận thấy một cú đánh hiệu suất nhỏ khi sử dụng chiến lược này trên số lượng tế bào đáng kể. Một mô hình tôi sử dụng tại nơi làm việc sử dụng kỹ thuật này với các phạm vi được đặt tên trải rộng vài nghìn phạm vi ô khác nhau và Excel cảm thấy chậm chạp khi tôi cập nhật các ô trong các phạm vi đó. Đây có thể là trí tưởng tượng của tôi hoặc có thể thực tế là Excel đang thực hiện các cuộc gọi chức năng bổ sung tới INDIRECT.


Mặc dù phạm vi được đặt tên cung cấp một phương pháp ngắn gọn thuận tiện để tham chiếu đến các ô mục tiêu, bạn không thể tự mình sử dụng INDIRECTchức năng này sao?
Iszi

@Iszi Vâng, tôi tin là như vậy. Tuy nhiên, như bạn nói, các phạm vi được đặt tên là thuận tiện và tôi thường thấy mình đề cập đến cùng một phạm vi ô ở nhiều nơi trong một sổ làm việc. Tôi cố gắng giữ phạm vi càng nhỏ càng tốt, vì lý do hiệu suất và chỉ thay đổi chúng khi cần thiết, vì vậy sử dụng phạm vi được đặt tên có nghĩa là tôi chỉ cần thay đổi nó ở một nơi.
John Bensin

@Iszi Bạn đã kết thúc bằng cách sử dụng phương pháp này? Nếu bạn gặp phải bất kỳ cạm bẫy hoặc nhược điểm nào mà tôi không đề cập, hãy cho tôi biết hoặc chỉnh sửa chúng thành câu trả lời. Tôi sử dụng chiến lược này ở những nơi đủ để tôi không muốn thứ gì đó quay trở lại ám ảnh bạn hoặc tôi xuống đường.
John Bensin

Tôi chưa có ý định thực hiện nó, nhưng có lẽ sẽ làm như vậy vào lần tới khi tôi gặp phải vấn đề này. Tôi sẽ cho bạn biết nếu có bất kỳ vấn đề.
Iszi

9
Tôi đã thử sử dụng phạm vi được đặt tên trong cột "Áp dụng cho" của Trình quản lý quy tắc định dạng có điều kiện, nhưng phạm vi được đặt tên sẽ được mở rộng khi tôi nhấn "OK" hoặc "Áp dụng". Tôi đang làm sai à?
Mihai Alexandru Bîrsan

2

Tôi đã thấy rằng các quy tắc rất dễ phá vỡ, nhưng đây là thứ bạn có thể thử mà dường như không phá vỡ bất kỳ quy tắc nào.

Bạn có thể thay đổi văn bản bên trong các ô. Nếu bạn cần thêm một hàng, hãy thêm dữ liệu của bạn vào cuối bảng và sắp xếp lại nó. Nếu bạn cần xóa một hàng, chỉ xóa văn bản / số, sau đó sắp xếp lại bảng.

Điều này hoạt động với tôi khi tôi có định dạng có điều kiện áp dụng cho các cột và tôi thường đặt định dạng cho toàn bộ cột, ví dụ: $ F: $ F. Nó vẫn hoạt động nếu bạn định dạng cho một phạm vi một phần, chỉ cần đảm bảo rằng khi bạn hoàn thành thêm / xóa và sử dụng tất cả dữ liệu bạn muốn được định dạng vẫn nằm trong các tham số phạm vi ban đầu của bạn.

Đó là một sự thất vọng lớn đối với tôi là tốt.

Tôi hi vọng cái này giúp được.


1

Tôi không SO chắc chắn và tôi phải đối mặt với cùng một vấn đề thường xuyên.

Tôi muốn nói rằng trường 'Áp dụng cho' trong bảng Định dạng có điều kiện (CF) sẽ LUÔN hoạt động linh hoạt. Vì vậy, nó sẽ LUÔN chuyển đổi bất kỳ tham chiếu nào sang định dạng =$A$1:$A$50.

Đó là một nỗi đau.


Nó không, ngay cả khi tôi sử dụng khai báo rõ ràng hoặc biến ($ hoặc không $).
Paul

1

Tôi thấy rằng việc sử dụng INDIRECThàm và ROWhàm trong quy tắc Định dạng có điều kiện sẽ loại bỏ vấn đề Excel tạo quy tắc mới và thay đổi phạm vi.

Ví dụ: tôi muốn thêm một dòng giữa các hàng trong bảng tính sổ đăng ký sổ séc của tôi khi tháng thay đổi từ một hàng sang hàng tiếp theo. Vì vậy, công thức của tôi trong quy tắc CF là:

=MONTH(INDIRECT("C"&ROW()))<>MONTH(INDIRECT("C"&ROW()-1))

trong đó Cột C trong bảng tính của tôi chứa ngày. Tôi không phải làm gì đặc biệt cho phạm vi (không phải xác định Tên Phạm vi, v.v.).

Vì vậy, trong ví dụ của người đăng ban đầu, thay vì "A1" hoặc "A $ 1" trong quy tắc CF, hãy sử dụng:

INDIRECT("A"&ROW())

0

Tôi đã trải qua một vấn đề rất giống nhau. Tôi đã tạo một vài macro để thêm hàng và sao chép công thức, sau đó điều chỉnh các cột và kích thước hàng để định dạng trang tính trông như thế nào. Tôi đã tìm thấy vấn đề này xảy ra trong một trong hai lần.

1) Khi một cái gì đó từ bên trong, "áp dụng cho" bị cắt / dán bên ngoài phạm vi này.

2) Khi có các ô được hợp nhất bên trong "áp dụng cho" và bất kỳ hàng hoặc cột nào được điều chỉnh.

Nó xuất hiện trong vấn đề ô được hợp nhất, excel đó phải hủy kết hợp mọi thứ, tính toán lại ứng dụng có điều kiện của nó, điều chỉnh tất cả các ô (thêm hoặc xóa hàng hoặc không có gì) và sau đó lấy lại chúng. Nó vô hình với chúng ta nhưng dường như đó là cách nó được áp dụng.

Nghĩ rằng có thể giúp chúng ta đạt được giải pháp về điều này.

-T


0

Tôi có một giải pháp đơn giản cho việc này.

Chỉ cần Di chuyển đến một ô nằm trong phạm vi (ô không bị phá vỡ của Phạm vi), nhấp vào Định dạng Họa sĩ và sau đó dán vào toàn bộ Cột. Một lần nữa, nó sẽ hiển thị Nơi nó bị hỏng, bạn chỉ cần thực hiện Format họa sĩ cho ô đã phá vỡ phạm vi. Bây giờ, điều này cũng có vẻ hơi dài, bạn chỉ có thể xây dựng một macro đơn giản cho việc này.


0

Trong công thức định dạng có điều kiện, sử dụng R1C1ký hiệu với INDIRECThàm:
Ví dụ 1:

If same row column A = 1 ...

=IF($A1=1,1,0) becomes 
=IF(INDIRECT("RC1",FALSE)=1,1,0)

Ví dụ 2:
If same row column A = 2 AND next row column A = 3...

=IF(AND(($A1=2),($A2=3)),1,0) becomes
=IF(AND((INDIRECT("RC1",FALSE)=2),(INDIRECT("R[1]C1",FALSE)=3)),1,0)

0

Nếu trường hợp sử dụng là để tạo bảng tính báo cáo, thì điều này sẽ hoạt động tốt:


Bạn có thể bỏ qua sự hữu ích quá mức của Excel với một vài bước thiết lập một lần, nếu bạn cũng sẵn sàng thực hiện thủ công làm mới đơn giản dữ liệu cuối cùng sau khi thực hiện tất cả các mục nhập dữ liệu.

Giả sử dữ liệu của bạn được sắp xếp bình thường (theo hàng):

  1. Nhập tất cả dữ liệu của bạn vào một tờ. Đối với hướng dẫn này, tôi sẽ đặt tên cho trang tính Input. Đừng áp dụng bất kỳ định dạng có điều kiện cho nó. Thoải mái chuyển các giá trị xung quanh nội dung trái tim của bạn (ví dụ: xóa / chèn / sao chép / dán)
  2. Tạo một bảng trống khác và đặt tên nó theo ý muốn (ví dụ Output). Sao chép thủ công định dạng toàn cầu của bạn như độ rộng cột và định dạng tiêu đề (không phải nội dung của các tiêu đề, chỉ là định dạng).
  3. Thay thế $A$1công thức sau bằng vị trí bắt đầu của hàng tiêu đề của bạn, sau đó sao chép trên tất cả các cột và hàng bạn muốn xuất: =IF(LEN(OFFSET(Input!$A$1,ROW()-1,COLUMN()-1))>0,OFFSET(Input!$A$1,ROW()-1,COLUMN()-1),"") ( IF(LEN(...)>0,...,"")câu lệnh là cần thiết vì Excel cũng xác định một cách hữu ích các loại dữ liệu cho bạn và sử dụng 0cho các ô trống, và nếu không các -1điều khoản đến từ offset so với ngữ nghĩa thông thường)
  4. Áp dụng định dạng có điều kiện cho Outputtrang tính.

Điều này sao chép Inputbảng dữ liệu của bạn sang Outputtrang tính mà không có bất kỳ tham chiếu ô nào mà Excel sẽ tự động bán thịt để bạn có thể tự tin xác định định dạng có điều kiện của mình trên Outputtrang tính.

Bạn chỉ cần mở rộng phạm vi theo cách thủ công được áp dụng trong Outputtrang tính khi kích thước Inputdữ liệu của bạn thay đổi.

Tôi đề nghị bạn tránh hợp nhất bất kỳ tế bào.


PS Câu hỏi này đã được hỏi nhiều lần (nó cũng được áp dụng trong Google Sheets, là bản sao của Excel) để bạn có thể tìm thấy giải pháp tốt hơn cho trường hợp sử dụng của mình khi xem qua chúng:

  1. Phân mảnh định dạng có điều kiện Excel
  2. (cái này) Làm cách nào để giữ cho các công thức và phạm vi định dạng có điều kiện tự động thay đổi?
  3. Giữ nguyên định dạng có điều kiện trên cut-paste
  4. Excel: làm thế nào để áp dụng vĩnh viễn định dạng có điều kiện cho toàn bộ bảng tính?
  5. Tại sao Excel đánh cắp định dạng có điều kiện của tôi?

0

Nếu bạn dán mà không có định dạng ( Paste > Paste Special > Unicode Texthoặc tương tự), định dạng đặc biệt sẽ không được sao chép và do đó, "Áp dụng cho" sẽ không thay đổi.

Bạn có thể xóa các hàng / cột, nhưng nếu bạn chèn chúng, "Áp dụng cho" sẽ được tách ra.

Bạn mở rộng khu vực bằng cách chọn hàng / cột cuối cùng và "sao chép kéo" trên ô vuông nhỏ ở dưới cùng bên trái của "con trỏ". Bằng cách này, "Áp dụng cho" sắp xếp vẫn còn nguyên. (Lưu ý rằng điều này sẽ không mở rộng bất kỳ công thức nào trên các hàng hoặc cột như chèn.)

Tuy nhiên, đó là một nỗi đau hoàn toàn để nhớ để dán mà không có định dạng, vv Tôi thường không.

Đôi khi tôi cũng xác định tên cho khu vực tôi muốn định dạng. Nó sẽ không được sử dụng trong quy tắc, nhưng bạn có thể xóa quy tắc bằng cách xóa tất cả các quy tắc trừ một quy tắc và sử dụng tên khu vực trong phần "Áp dụng cho".

Tôi đã thử nghiệm trên máy Mac bằng Excel 16.3 (Tôi nghĩ Office 2016 ... hmm).

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.