Önceki aya ait rakamlara dayanan aylık bir elektronik tablom var. Bu değerleri kesip yapıştırmak yerine dinamik olarak almak istiyorum. Mümkün mü? Nasıl yaparım?
Önceki aya ait rakamlara dayanan aylık bir elektronik tablom var. Bu değerleri kesip yapıştırmak yerine dinamik olarak almak istiyorum. Mümkün mü? Nasıl yaparım?
Yanıtlar:
IMPORTRANGE()
İstediğiniz işlev gibi görünüyor.
Gönderen Google E-tablolar fonksiyon listesinde :
Google E-Tablolar, ImportRange işlevini kullanarak şu anda düzenlemekte olduğunuz e-tablodaki başka bir çalışma kitabına başvuru yapmanızı sağlar. ImportRange bir veya daha fazla hücre değerini bir elektronik tablodan diğerine çekmenize olanak sağlar. Kendi ImportRange formüllerinizi oluşturmak için, = importRange (elektronik tablo anahtarı, aralık) girin. Ondalık ayırma için virgülün kullanıldığı dillerde, formülünüzdeki bağımsız değişkenleri ayırmak için virgül yerine noktalı virgül kullanın.
Elektronik tablo anahtarı, elektronik tablo URL'sindeki anahtar değer olan bir STRING'dir.
Aralık, isteğe bağlı olarak sayfa adı da dahil olmak üzere içe aktarmak istediğiniz hücre aralığını temsil eden bir STRING'dir (varsayılan olarak ilk sayfa). İsterseniz bir aralık adı da kullanabilirsiniz.
İki argümanın STRING olduğu göz önüne alındığında, bunları tırnak içine almanız veya içinde dize değeri olan hücrelere başvurmanız gerekir.
Örneğin:
= importrange ("abcd123abcd123", "sheet1! A1: C10") "abcd123abcd123", hedef elektronik tablonun URL’sindeki "key =" özniteliğindeki değer ve "sheet1! A1: C10" istenen aralıktır. ithal edilmek.
= importrange (A1, B1) A1 hücresi ABCD123ABCD123 dizesini ve B1 hücresi sheet1! A1: C10
Not: ImportRange'ı kullanmak için, ImportRange'ın verileri çektiği e-tabloya bir görüntüleyici veya ortak çalışan olarak eklenmiş olmanız gerekir. Aksi takdirde, şu hatayı alırsınız: "#REF! Error: İstenen elektronik tablo anahtarı, sayfa başlığı veya hücre aralığı bulunamadı."
"anahtar", elbette, key=
parametreyle eşleşen e-tablonun URL’sindeki dizedir .
Sadece iki elektronik tablo oluşturarak test ettim. İlk hücrenin A1 hücresine bir dize koydum. İkinci hücrenin A1 hücresine koydum =importRange("tgR2P4UTz_KT0Lc270Ijb_A","A1")
ve ilk e-tablodaki dizgiyi görüntüledi. (Anahtarın belli ki farklı olacak.)
(. Fonksiyonunun biçimi Fransa'da formül virgülle geçerli değil Bulunduğunuz yerin bağlı olabilir, bu nedenle bir noktalı virgül ile değiştirmek gerekir: =importRange("tgR2P4UTz_KT0Lc270Ijb_A";"A1")
)
NOTLAR:
Google, şu anda e-tablo için 50 "çalışma kitabı referans formülü" zor bir sınır koyuyor. Kaynak: Google Dokümanlar, E-Tablolar ve Slaytlar boyut sınırları . (s / h JJ Rohrer )
"Yeni" Google E-Tablosu (yakında standart olacak) 50 "çalışma kitabı referans formülü sınırını kaldırır ( Google Desteği ) (h / t Jacob Jan Tuinstra )
"Yeni" Google Sayfalarında, URL'nin tamamını anahtar olarak da kullanabilirsiniz ( Google Destek ) (h / t Punchlinern )
Bilginize, bu elektronik tablo içinde başka bir sayfaya referans vermek istiyorsanız, sayfa adı yeniden alıntılanmamalıdır:
kullanım
=importRange("tgR2P4UTz_KT0Lc270Ijb_A","Sheet Name!A1:A10")
onun yerine
=importRange("tgR2P4UTz_KT0Lc270Ijb_A","'Sheet Name'!A1:A10")
Yeni arayüzde, =
hücreye yazabilmeniz , sonra diğer sayfaya gitmeniz ve istediğiniz hücreyi seçmeniz yeterlidir . Bunu elle yapmak istiyorum, ya, sadece yapabileceği eski arayüzü kullanıyorsanız =Sheet1!A1
, nerede Sheet1
tabakanın adıdır ve A1
önemsediğiniz bu sayfada kullanıcıların hücredir. Bu, Microsoft Excel ile aynıdır.
Bu sözdizimini Ekle -> Yeni aralık tanımla'yı kullanarak buldum.
A sütununun tamamı: 'Adında Boşluklu Elektronik Tablo'! A: A
B sütununun tamamı: 'Adında Boşluklu Elektronik Tablo'! B: B
vb.
O zaman olarak kullanabilirsiniz:
=COUNTIF('First Page'!B:B, "valueToMatch")
IMPORTRANGE
fonksiyon olabilir içe verileri başka elektronik tabloya. Aralıkları ayarlamak yalnızca bir e-tablo içindeki (mümkün) anlamına gelir. Dışarıda demek istediğim bu.
IMPORTRANGE
Jacob'un söylediği gibi @brendan kullanımı .
İşte nasıl yaptım (reimplemented 'importrange ()'):
REMOTEDATA işlevi (inKey, inRange) { var outData; var ss = SpreadsheetApp.openById (inKey); eğer (ss) { outData = ss.getRange (inRange) .getValues (); } dönüş verisi; }
= SUM (REMOTEDATA ("anahtar", "SayfaAdı! A1: A10"))
"anahtar" dokümanın anahtarıdır; dokümanın URL'sinin "key = xyz" parametresinde bulabilirsiniz.
' elektronik tablo hizmetleri ' belgeleri , konuyla ilgili daha fazla bilgi sağlar.
SpreadsheetApp.openById()
veya SpreadsheetApp.openByUrl()
-> developers.google.com/apps-script/guides/sheets/…
Query kullanarak çok kolay bir şekilde yaptım, örneğin, 2 sayfalık ABC ve XYZ'im var ve A1'den C30'a Abc'den XYZ'ye aralığı içe aktarmak, aralığın görünmesini istediğiniz hücreyi tıklatın ve şunu yazın:
=QUERY(ABC!A1:C30)
Not: Sayfa adınız boşluk içeriyorsa, elbette şunu yazın:
=QUERY('ABC 1'!A1:C30)
QUERY
yapabilir mi?
importrange("abcd123abcd123", "sheet1!A1:C10")
örneğin, =query(importrange("abcd123abcd123", "sheet1!A1:C10"))
;-)