Koşullu Biçimlendirme formüllerini ve aralıklarının otomatik olarak değişmesini nasıl önleyebilirim?


24

Koşullu Biçimlendirme formüllerinin ve aralıklarının, bir e-tablodaki verileri kopyaladığınızda, silerken veya taşıdığınızda otomatik olarak ayarlanacağını öğrendim. Bu güzel bir fikir olsa da, benim için işleri oldukça garip şekillerde kırma eğilimindedir.

Bunu önlemek için, tüm elektronik tabloya uygulanan ve kontrol etmek istediğim verileri vurgulamak için sütun başlıklarını belirleyen kurallar yazmayı denedim .

Örnek: =AND(A$1="Check This Column For Blanks),ISBLANK(A1))uygulanan=$1:$1048576

Bununla birlikte, kural tüm sayfaya açıkça uygulanmış olsa bile, sayfada çalıştığım gibi hala otomatik olarak ayarlanıyordu (ve bunu yaparak garip şekillerde kırılıyordu).

Bundan nasıl kaçınabilirim?


Belki de tüm elektronik tabloyu kullanamazsınız ... Ne yaptığınıza dair daha somut bir örnek verebilir misiniz?
Doktoro Reichard 20:13

Belki bir ekran görüntüsü alabilir ve hangi alanların kırıldığını gösterebilir misiniz?
Jerry,

@JohnBensin Bu tam olarak aradığım şeymiş gibi geliyor. Bir dahaki sefere bunu hatırlamaya çalışacağım.
Iszi

@ Iszi bir cevap olarak ekledim. Adlandırılmış aralıkları nasıl ekleyeceğinizi bildiğinizden eminim, ancak gelecekteki ziyaretçilerin yanıtına ayrıntılar ekliyorum (ve Excel'i ilk kullandığımda asla hatırlayamadığım için).
John Bensin

Neyin yanlış gittiğiyle ilgili bir makale: Excel 2010 şartlı biçimlendirme kabusu . Biraz daha iyi hale getirmeye çalışırken kesinlikle daha da kötüleşti ...
RomanSt

Yanıtlar:


7

Hücreleri taşımak, eklemek ve silmek de dahil olmak üzere hiçbir koşulda değişmemesi gereken bir aralığa ihtiyacım olduğunda , adlandırılmış bir aralık ve INDIRECTişlev kullandım.

Örneğin, her zaman hücrelere uygulanacak bir aralık istiyorsanız A1:A50, Ad Yöneticisi aracılığıyla adlandırılmış bir aralık tanımladım:

adlandırılmış aralık ekle

Ad Manager'da, yeni bir aralık (Yeni'yi tıklayın) ekleyin ve Anlamına gelir de: alanına örn istediğiniz hücre aralığını belirtmek için DOLAYLI işlevini kullanın =INDIRECT("A1:A50")veya =INDIRECT("Sheet!A1:A50"). Aralık teknik olarak yalnızca bir metin argümanı olduğundan, hiçbir yeniden düzenleme hücresi Excel'in onu güncellemesine neden olmaz.

Ayrıca, bu en azından Excel 2010 ve Excel 2013'te çalışıyor. Ekran resmim 2013'ten itibaren olmasına rağmen, bu kesin tekniği 2010 yılında geçmişte kullandım.

Uyarılar

  1. Bu değişmezliğin sizi de etkileyebileceğini unutmayın. Örneğin, sayfanın adını değiştirirseniz, adlandırılmış aralık bozulur.

  2. Bu stratejiyi kullanırken çok sayıda hücrede küçük bir performans artışı olduğunu fark ettim. İşyerinde kullandığım bir model, birkaç bin ayrı hücre aralığını kapsayan adlandırılmış aralıklar ile bu tekniği kullanıyor ve Excel, bu aralıklardaki hücreleri güncelleştirdiğimde biraz durgunluk hissediyor. Bu benim hayal gücüm olabilir veya Excel'in INDIRECT'e ek işlev çağrıları yapıyor olması olabilir.


Adlandırılmış aralık, hedef hücrelere atıfta bulunmak için uygun bir kısa el yöntemi sağlasa da, INDIRECTişlevi yalnızca kendi başınıza kullanamaz mıydınız?
Iszi

@Iszi Evet, inanıyorum. Ancak, dediğiniz gibi, adlandırılmış aralıklar uygundur ve çalışma kitabım boyunca kendimi aynı hücrelere birden çok yerde başvururken sık sık buluyorum. Aralıkları performans nedenleriyle mümkün olduğu kadar küçük tutmaya çalışıyorum ve sadece gerektiğinde değiştiriyorum, bu yüzden adlandırılmış bir aralık kullanmak sadece bir yerde değiştirmem gerektiği anlamına geliyor.
John Bensin

@Iszi Bu yöntemi hiç kullandınız mı? Bahsetmediğim herhangi bir tuzak veya sakıncaya rastlarsanız, bana cevabını bildirin veya düzenleyin. Bu stratejiyi, sizi rahatsız etmek ya da yoldan aşağı inmek için bir şeylerin geri gelmesini istemediğim yerlerde kullanıyorum.
John Bensin 27:13

Henüz uygulamamıştım ama bu problemle bir dahaki sefere karşılaştığımda muhtemelen bunu yapacak. Herhangi bir sorun olursa size bildiririm.
Iszi

9
Koşullu Biçimlendirme Kuralları Yöneticisi'nin "Aşağıdakilere Uygulanır" sütununda adlandırılmış aralığı kullanmaya çalıştım, ancak "Tamam" veya "Uygula" ya tıkladığımda adlandırılmış aralık genişletildi. Yanlış mı yapıyorum?
Mihai Alexandru Bîrsan

2

Kuralların kırılmasının çok kolay olduğunu keşfettim, ancak işte herhangi bir kurala aykırı görünmeyen deneyebileceğiniz bir şey var.

Hücrelerin içindeki metni değiştirebilirsiniz. Satır eklemeniz gerekirse, verilerinizi tablonun sonuna ekleyin ve yeniden sıralayın. Bir satırı silmeniz gerekirse, yalnızca metni / numaraları kaldırın, ardından tabloyu yeniden sıralayın.

Bu benim için çalışır, sütunlara uygulanan koşullu biçimlendirmeye sahipsem ve genellikle tüm sütunun biçimlendirmesini ayarladım, örneğin. $ F: $ F. Kısmi bir aralığı biçimlendiriyorsanız, çalışması gerekir, biçimlendirmek istediğiniz tüm verileri eklemeyi / kaldırmayı ve yerleştirmeyi tamamladığınızda, orijinal aralık parametrelerinizin içinde olduğundan emin olun.

Benim için de büyük bir hayal kırıklığı.

Umarım bu yardımcı olur.


1

Ben değilim SO emin ve sık sık aynı sorunla karşı karşıya.

Koşullu Biçimlendirme (CF) panelindeki 'Uygula' alanının HER ZAMAN dinamik olarak çalışacağını söyleyebilirim. Bu yüzden, HER ZAMAN formatları referansları dönüştürecek =$A$1:$A$50.

Bu bir acı.


Açık veya değişken bildirimler kullandığımda bile ($ ya da $).
Paul,

1

INDIRECTFonksiyonu ve ROWfonksiyonu Koşullu Biçimlendirme kuralında kullanmanın Excel'in yeni kurallar oluşturma ve aralığı değiştirme sorununu ortadan kaldırdığını buldum .

Örneğin, ay bir satırdan diğerine değiştiğinde çek defterimdeki kayıt çizelgesindeki satırlar arasına bir satır eklemek istedim. Öyleyse, CF kuralındaki formülüm:

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

E-tablomdaki C Sütunu tarih içeriyor. Bu aralığa özel bir şey yapmak zorunda değildim (Aralık Adı, vb. Tanımlamak zorunda değildim).

Orijinal posterin örneğinde, CF kuralında "A1" veya "A $ 1" yerine, şunu kullanın:

INDIRECT("A"&ROW())

0

Çok benzer bir sorun yaşadım. Satır eklemek ve formülleri kopyalamak için birkaç makro yaptım ve sonra sayfanın görünüşünü biçimlendirmek için sütunlar ve satır boyutlarını ayarlayın. Bu sorunun iki olaydan birinde olduğunu gördüm.

1) INSIDE’dan bir şey “uygulandığında” bu aralığın dışına kesilir / yapıştırılır.

2) "Uygulanan" içinde birleştirilmiş hücreler olduğunda ve satır veya sütunların herhangi biri ayarlanır.

Birleştirilmiş hücre sorunu sırasında, excel'in her şeyi çözmek, koşullu uygulamasını yeniden hesaplamak, tüm hücreleri ayarlamak (satır eklemek veya silmek ya da olmayanları) ve sonra tekrar değiştirmek zorunda olduğu anlaşılmaktadır. Bize görünmez ama bu nasıl uygulanıyor gibi görünüyor.

Bu konuda çözüme ulaşmamıza yardımcı olabileceğini düşündüm.

-T


0

Bunun için basit bir çözümüm var.

Sadece menzil içindeki bir hücreye git (Menzilden kırılmayan), Ressamı Biçimlendir'e tıklayın ve ardından tüm Sütuna yapıştırın. Yine, nerede kırıldığını gösterecek, sadece menzili kırmış olan hücreye bir Format Boyacısı yapmalısınız. Şimdi, bu da biraz uzun görünebilir, bunun için basit bir makro oluşturabilirsiniz.


0

Koşullu Biçimlendirme formülünde, işlevli R1C1gösterimi kullanın INDIRECT:
Örnek 1:

If same row column A = 1 ...

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

Örnek 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

Kullanım örneği bir rapor elektronik tablosu oluşturmaksa, bunun iyi çalışması gerekir:


Tüm veri girişini yaptıktan sonra son verileri basit bir şekilde yenilemeye istekliyseniz, Excel'in aşırı yardımseverliğini birkaç kerelik kurulum adımlarıyla atlayabilirsiniz .

Verilerinizin normal şekilde düzenlendiğini varsayalım (satırlar halinde):

  1. Tüm verilerinizi bir sayfaya giriniz. Bu eğitici yazı için ben adı vereceğim Input. Herhangi bir koşullu biçimlendirme uygulamayın. Değerleri kalbinizin içeriğine göre kaydırmakta özgürsünüz (örneğin, sil / ekle / kopyala / yapıştır)
  2. Başka bir boş sayfa oluşturun ve istediğiniz gibi adlandırın (örn. Output). Sütun genişlikleri ve başlık biçimlendirmesi gibi genel biçimlendirmenizi el ile kopyalayın (başlıkların içeriği değil, yalnızca biçimlendirme).
  3. $A$1Aşağıdaki formülde, başlık satırınızın başlangıcı ile değiştirin , ardından çıktı almak istediğiniz tüm sütun ve satırlara kopyalayın: =IF(LEN(OFFSET(Input!$A$1,ROW()-1,COLUMN()-1))>0,OFFSET(Input!$A$1,ROW()-1,COLUMN()-1),"") ( IF(LEN(...)>0,...,"")Excel ayrıca veri türlerini yararlı bir şekilde belirlediğinden ve 0boş hücreler için kullandığından , -1terimleri) sıralı semantik karşı ofset gelen
  4. Sayfaya koşullu biçimlendirme uygulayın Output.

Bu, Inputveri sayfanızı Output, Excel'in otomatik olarak kasaplayacağı hücre referansları olmadan sayfaya kopyalar ; böylece Outputsayfadaki koşullu biçimlendirmenizi güvenle tanımlayabilirsiniz .

Verilerinizin Outputboyutu Inputdeğiştikçe formülün uygulandığı aralığı el ile genişletmeniz yeterlidir.

Herhangi bir hücreyi birleştirmekten kaçınmanı öneririm.


Not: Bu soruyu defalarca sordu (aynı zamanda, bir Excel'in klonu olan Google Sayfalarında da geçerlidir);

  1. Excel koşullu biçimlendirme fragmantasyonu
  2. (bu) Koşullu Biçimlendirme formüllerini ve aralıklarının otomatik olarak değişmesini nasıl önleyebilirim?
  3. Kes-yapıştırta koşullu biçimlendirmeyi koru
  4. Excel: koşullu formatlamayı tüm e-tabloya kalıcı olarak nasıl uygulayabilirim?
  5. Excel Neden Koşullu Biçimlendirmeyi kasaplıyor?

0

Biçimlendirmeden ( Paste > Paste Special > Unicode Textveya benzer şekilde) yapıştırırsanız , özel biçimlendirme kopyalanmayacaktır ve "Uygula" sıralamasının değişmemesi gerekir.

Satırları / sütunları silebilirsiniz;

Son satır / sütunu seçerek ve "imlecin" sol alt köşesindeki küçük karede "kopyala-sürükle" seçeneğini seçerek alanı genişletirsiniz. Bu şekilde, "Uygula" -gurange'inin aynı kalması gerekir. (Bunun, insert gibi sütun veya satırlardaki formülleri genişletmeyeceğini unutmayın.)

Bununla birlikte, formatsız yapıştırmayı hatırlamak tam bir acıdır, vs.

Bazen biçimlendirmek istediğim alan için bir ad da tanımlarım. Kuralda kullanılmayacak, ancak kural dışındaki tüm kuralları kaldırarak kuralı temizleyebilir ve "Aşağıdakilere Uygulanır" bölümündeki alan adını kullanabilirsiniz.

Mac üzerinde Excel 16.3 kullanarak test ettim (Sanırım Office 2016 ... hmm).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.