Sayfa adını almak mümkün mü?


Yanıtlar:


7

Microsoft, açıklıyor Eğer sayfa adını almak için bir dizi formülünü kullanın gerekebilir:

Geçerli çalışma sayfasının adını görüntülemek için dizi formülü olarak aşağıdaki formülü yazın

=RIGHT(CELL("filename"),LEN(CELL("filename"))-
  MAX(IF(NOT(ISERR(SEARCH("\",CELL("filename"),
  ROW(1:255)))),SEARCH("\",CELL("filename"),ROW(1:255)))))

burada "dosyaadı" tam anlamıyla tırnak içinde "dosyaadı" kelimesidir.

NOT: Bu formülü bir dizi formülü olarak girmelisiniz. Dizi formülü olarak formül girmek için CTRL + ÜST KRKT + ENTER tuşlarına basın.

Ayrıca bunun platforma çok bağlı olduğunu da unutmayın. Mac'te, farklı yol ayırıcılar kullandığından farklı formüllere ihtiyacınız olacaktır . Ayrıca, OpenOffice.org ve diğer alternatiflerde farklı çalışabilir. Ve kaydedilmemiş bir çalışma kitabını #VALUE!kullanırken bunun yerine alabilirsiniz .

Dizi formülü kullanmadığınızda, çalışma kitabının adını (dosya adının son kısmı) alabilirsiniz, şöyle:

Aşağıdaki formülde olduğu gibi yalnızca çalışma kitabının adını döndürmek için:

=MID(CELL("filename"),SEARCH("[",CELL("filename"))+1,
  SEARCH("]",CELL("filename"))-SEARCH("[",CELL("filename"))-1)

7

İşte bir formül.

=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,256)

( Daha fazla bilgi bağlantısı )


"A1" referansına gerek olmadığını unutmayın. Ayrıca, bunun platformdan bağımsız olmadığını ve çalışma kitabını kaydedinceye kadar formülün boş kalabileceğini unutmayın. Ayrıca bkz. Support.microsoft.com/kb/323225
Arjan

Bunu iki çalışma sayfasına koyarsam, her ikisinde de aynı ada sahip olacaktır. Hücrenin bulunduğu geçerli çalışma sayfasını almaz. Görüntülediğim geçerli çalışma sayfasını alır ve diğer tüm çalışma sayfalarındaki diğer tüm alanlardaki değeri çoğaltır.
BrunoLM

2

Öncelikle dosyanızı bu formülü herhangi bir yere girmek yerine kaydedin

=RIGHT(CELL("filename"),LEN(CELL("filename"))-FIND("]",CELL("filename")))

+ Bu işe yarıyor ve kısa. Yan not: Alman Excel'de=RECHTS(ZELLE("dateiname");LÄNGE(ZELLE("dateiname"))-FINDEN("]";ZELLE("dateiname")))
nixda

Benim durumumda kullandığım için gerekli ;yerine ,bir fonksiyonun elemanlarını ayırırken
woj

0

M $ EXCEL ve LibreOffice CALC üzerinde test edilmiştir ve çalışır (Formula İspanyolca'dır):

=EXTRAEB(CELDA("filename");SI(ESERROR(1+HALLAR("]";CELDA("filename")));SI(ESERROR(3+HALLAR("'#$";CELDA("filename")));0;3+HALLAR("'#$";CELDA("filename")));1+HALLAR("]";CELDA("filename")));LARGO(CELDA("filename")))

Not: Diğer formüllerin içine sığacak veya sadece bir hücre kullanan büyük bir formüldür.

İngilizce olarak düşünüyorum: EXTRAEB MIDB, CELDA CELL, SI IF, ESERROR ISERROR, HALLAR FIND ve LARGO LENGTH olurdu.

Bu kadar büyük formülü birden çok hücreye bölerseniz (aynı birden çok kez çağırmamak için) çok daha iyidir:

  1. =CELDA("filename")
  2. =1+HALLAR("]";<CellReferenceFor_1>)
  3. =3+HALLAR("'#$";<CellReferenceFor_1>)
  4. =ESERROR(<CellReferenceFor_2>;)
  5. =ESERROR(<CellReferenceFor_3>;)
  6. =EXTRAEB(<CellReferenceFor_1>;SI(<CellReferenceFor_4>;SI(<CellReferenceFor_5>;0;<CellReferenceFor_5>);<CellReferenceFor_4>);LARGO(<CellReferenceFor_1>))

Neden cehennemde sayfa adı almak çok karmaşık, sayfa listesinde sayfa konumu almak modern e-tabloda çok kolay (uyarı, EXCEL 2000'de bu yok): =HOJA(A1)

Ve başka bir şey: fonksiyonlar neden her dilde farklı olarak adlandırılır, eğer M $ EXCEL varsa İspanyolca ve CALC İngilizce ise (Rusça, Chinesse, vb.)? ne zor bir iş, çarpma deyimlerindeki tüm işlev adlarını hatırlamak gerekir.

Dahili olarak onlar örneğin speific adlarla kaydedilir =SHEET(A1)aynı olduğunu =HOJA(A1)kaydedilir =_xlfn.SHEET(A1); neden sonuncusu tüm deyimler üzerinde kullanmıyorsunuz?

Ya da başka bir formda söyledi: neden İngilizce koyarsam boşuna işlev adı olmadığını söylüyor (CALC / M $ EXCEL İngilizce değilse)?

M $ ACCESS ve gerçekleşmeyen SQL fonksiyonları ile İspanyolca sürümünde bunları İspanyolca ESNULO()ve İngilizce yazabilirim ISNULL()ve doğru alır.

Her ikisini de kabul etmek çok karmaşıksa; Peki, o zaman sadece birini kabul et, idomları çoğaltmak için yerelleştirmeyin!

Evet, bu büyük formülde kullandığım hile, ]var olup olmadığını test etmek (M $ EXCEL), başka bir '#$ad varsa (LibreOffice CALC) adı çıkarırken test etmektir =CELL("filename"). Çok tuhaf!

Yine alaycı sorularla: Neden eklediler =SHEET(A1)ve eklemediler =SHEETNAME(A1)? Bu hepimizi zorlaştırıyor!


-1

LibreOffice'te formülünüzü aşağıdakilere karıştırdım ve sonuna doğru 20 sayısı görüntülenecek karakterlerin sınırı olacak:

= (YEDEK (MID ((SAĞ (HÜCRE ( "dosya adı"), LEN (HÜCRE ( "dosya adı")) - MAX (IF (NOT (ISERR (SEARCH ( "\", CELL ( "dosya adı"), SATIR (1 : 255: 255)))), SEARCH ( "\", CELL ( "dosya adı"), SATIR (1: 255: 255)))))) FIND ( "# $", (SAĞ (HÜCRE ( "dosya adı "), LEN (HÜCRE (" dosya adı ")) - MAX (IF (NOT (ISERR (SEARCH (" \ "CELL ( "dosya adı"), SATIR (1: 255: 255)))), SEARCH (" \ " CELL ( "dosya"), SIRA (1: 255: 255))))))) + 2,20), 1,1))


1
Bu MS Excel içindir.
James Mertz
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.