Başka birinin veri girdiği bir e-tablom var. 0 değer kaydetmek yerine boş hücreler bıraktılar. Boş hücreleri 0'larla nasıl değiştirebilirim?
Bulmak ve ^ $ kullanarak düzenli ifadeler ile değiştirmeyi denedim, ama işe yaramadı.
Başka birinin veri girdiği bir e-tablom var. 0 değer kaydetmek yerine boş hücreler bıraktılar. Boş hücreleri 0'larla nasıl değiştirebilirim?
Bulmak ve ^ $ kullanarak düzenli ifadeler ile değiştirmeyi denedim, ama işe yaramadı.
Yanıtlar:
Bunu yalnızca e-tablonun belirli bir bölümünde yapmak istediğinizi ve tekrarlamanız gereken bir şey değil, düzeltmeniz gereken bir defalık bir sorun olduğunu varsayıyorum.
Bunun için en basit yaklaşım, şu anda kullanılmayan aynı şekil ve boyutta (belki de başka bir çalışma sayfasında) başka bir alan bulmaktır .
Bu alandaki her bir hücrede, forumu bu şekilde ayarlayın (kullandığınız hücrelere bağlı olarak):
= Halinde (isblank (A3), "0", A3)
2. alandan veri seçin, kopyalayın ve Düzenle> Özel Yapıştır> Yalnızca değerleri yapıştır kullanarak orijinaline geri yapıştırın
Bazı biçimlendirmeleri (örneğin tarih biçimleri) yeniden uygulamanız gerekebilir, ancak değerler orada olacaktır.
fyi, bu yaklaşımın çalışmış bir örneğini buraya koydum: https://docs.google.com/spreadsheets/d/1T6owfGtpKt3NLl5hq1AZpeWA1ILWUwBQ44bdlAmekF0/edit?usp=sharing
Aşağıdaki komut dosyası 0
, aralıktaki her boş hücreye bir ekleyecektir .
function onOpen() {
SpreadsheetApp.getUi().createMenu("Zeros")
.addItem("Sheet", "zeroSheet")
.addItem("Data range", "zeroDatarange")
.addItem("Selection", "zeroSelection")
.addItem("Manual Override", "zeroManual")
.addToUi();
}
function zeroSheet() {
var sheet = SpreadsheetApp.getActiveSheet();
zero(sheet, 'sheet');
}
function zeroDatarange() {
var range = SpreadsheetApp.getActiveSheet().getDataRange();
zero(range, 'datarange');
}
function zeroSelection() {
var range = SpreadsheetApp.getActiveSheet().getActiveRange();
zero(range, 'activerange');
}
function zeroManual() {
var spreadsheet = SpreadsheetApp.getActive();
zero(spreadsheet, 'manual');
}
function zero(source, type) {
var data, range;
switch(type) {
case 'sheet':
var lastRow = source.getMaxRows();
var lastColumn = source.getMaxColumns();
range = source.getRange(1, 1, lastRow, lastColumn);
break;
case 'manual':
range = source.getSheetByName('Sheetname').getRange(2, 4, 3, 6);
break;
case 'datarange':
case 'activerange':
range = source;
break;
}
data = range.getValues();
range.setValues( data.map( function(row) {
return row.map( function(cell) {
return !cell ? 0 : cell;
});
}));
}
Dosya açıldığında, dört alt öğeye sahip Zeros adlı bir menü öğesi oluşturulur. Manuel işlevi de açıldıktan sonra çalıştırmak istiyorsanız, basitçe şu şekilde ekleyin:
Sizin için bir örnek dosya oluşturdum: Boş hücreyi sıfırlarla değiştirin .
1. Dosyanın bir kopyasını oluşturun veya kodu Araçlar> Komut Dosyası düzenleyicisi altına yapıştırın . 2. Komut dosyasının kimliğini doğrulamak için saat hatası düğmesine basın.
3. Belgenizi yeniden açın, şimdi yeni menüye sahipsiniz!
Google e-tablolarında benzer durumlarda benim için çalışan bir yol, boş sütunu 0 ile TOPLAMAK ve sonucu yeni bir sütunda depolamaktı.
Sütunda A
, değiştirmek istediğiniz boş hücreler varsa ve örneğin verileriniz varsa , güncellenmiş değerleri aşağıdaki gibi depolamak için bir B
sonraki boş sütunu C
kullanın:
C1=SUM(A1, 0)
vb. tüm sütun için C
.
Benim durumumda, değerleri çarpmam gerekiyordu ve boş hücreler 1
s yerine 0
s gibi çalıştı PRODUCT()
, bu yüzden yaptım:
=PRODUCT(SUM(A,0), multiplier)
bu da içindeki boş veya sayı olmayan hücreler için beklenen sonuçları verdi A
.
İçinde rastgele boşluklar olan büyük bir veri vardı, bu yüzden if(isblank())
süper emek yoğun olduğu için kullanmak benim için kötü bir fikirdi.
Bunun yerine, sayfamı bir csv olarak indirdim ve TextWrangler'da açtım (bul ve değiştir ile herhangi bir metin editörü çalışacaktır). Sonra ',,' buldum ve ', 0' ile değiştirdim. Bunu iki kez yapmak zorunda kaldım. Daha sonra yeniden aktardığımda, if(isblank())
veri kümemin yalnızca ilk ve son sütunlarında kullandım. Diğer her şey sıfırlandı. Sadece yaklaşık 5-10 dakika sürdü.
Sen kullanabilirsiniz "Bul ve Değiştir" ( Ctrl+ F→ Diğer seçenekler).
^$