Auswahl des letzten Wertes einer Spalte
Ich habe ein Tabellenblatt mit einigen Werten in Spalte G. Einige Zellen leer sind, in zwischen, und ich brauche, um den letzten Wert aus dieser Spalte in eine andere Zelle.
Etwas wie:
=LAST(G2:G9999)
außer dass LAST
ist nicht eine Funktion.
InformationsquelleAutor der Frage cambraca | 2010-11-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Also diese Lösung nimmt einen string als parameter. Es findet, wie viele Zeilen in das Blatt. Es bekommt alle Werte in der angegebenen Spalte. Es durchläuft die Werte vom Ende zum Anfang, bis er findet, ein Wert, der nicht eine leere Zeichenfolge. Endlich ist es retunrs der Wert.
Skript:
Verwendung:
EDIT:
Antwort auf den Kommentar Fragen nach der Funktion zur automatischen Aktualisierung ein:
Der beste Weg, die ich finden konnte, ist die Verwendung dieses mit dem obigen code:
Wäre es nicht mehr erforderlich, um die Funktion in einer Zelle wie der Nutzung Abschnitt Staaten. Stattdessen sind Sie harte Codierung der Zelle, die Sie aktualisieren möchten, und die Spalte, die Sie möchten, zu verfolgen. Es ist möglich, dass es ein eloquenter Art und Weise der Umsetzung dieser (hoffentlich eine, die nicht hart codiert), aber diese ist die beste die ich finden konnte für jetzt.
Beachten Sie, dass wenn Sie die Funktion in der Zelle, wie bereits erwähnt, erfolgt die Aktualisierung auf neu laden. Vielleicht gibt es einen Weg, um Haken in
onEdit()
und Kraft in der Zelle, die Funktionen zu aktualisieren. Ich kann einfach nicht finden, es in der Dokumentation.InformationsquelleAutor der Antwort tinifni
Ähnliche Antwort auf caligari Antwort, aber wir können ordentlich es nur durch Angabe des vollständigen Spalte Bereich:
InformationsquelleAutor der Antwort dohmoose
Tatsächlich fand ich eine einfachere Lösung hier:
http://www.google.com/support/forum/p/Google+Docs/thread?tid=20f1741a2e663bca&hl=de
Sieht es wie folgt aus:
InformationsquelleAutor der Antwort Getas
LAST () - Funktion ist nicht implementiert im moment, um zu wählen Sie die Letzte Zelle in einem Bereich. Jedoch, nach Ihrer Beispiel:
sind wir in der Lage, um die Letzte Zelle mit den paar Funktionen INDEX() und COUNT() in dieser Weise:
Es ist ein live-Beispiel am spreedsheet, wo ich Sie gefunden (und gelöst) das gleiche problem (Blatt
Orzamentos
ZelleI5
). Beachten Sie, dass es perfekt funktioniert, auch auf anderen Blättern innerhalb des Dokuments.InformationsquelleAutor der Antwort caligari
Zusammenfassung:
Details:
Habe ich durchgeschaut und habe versucht, einige Antworten, und hier ist, was ich gefunden habe:
Die einfachste Lösung (siehe Dohmoose' Antwort) funktioniert, wenn es keine Leerzeichen:
Wenn Sie Leerzeichen, es schlägt fehl.
Können Sie behandeln eine leere, nur durch ein ändern von
COUNT
zuCOUNTA
(Siehe user3280071 Antwort):Jedoch, diese Fehler für einige Kombinationen von Rohlingen. (
1 blank 1 blank 1
ausfällt für mich.)Der folgende code funktioniert (Siehe Nader ' s Antwort und Jasons Kommentar):
aber es erfordert, darüber nachzudenken, ob Sie verwenden möchten
COLUMNS
oderROWS
für einen bestimmten Bereich.Jedoch, wenn
COLUMNS
ersetzt mitCOUNT
ich scheinen, um eine zuverlässige, blank-Nachweis der Umsetzung vonLAST
:Und da
COUNTA
hat der filter eingebaut ist, können wir vereinfachen weiter mitDies ist etwas einfacher, und richtig. Und Sie müssen nicht sorgen zu machen, ob die Anzahl der Zeilen oder Spalten. Und im Gegensatz zu Skript-Lösungen, it-automatisch updates mit änderungen an der Tabelle.
Und wenn Sie wollen, um den letzten Wert in einer Zeile, ändern Sie einfach die Daten-Bereich:
InformationsquelleAutor der Antwort Doug Bradshaw
Um den letzten Wert aus einer Spalte der text-Werte müssen Sie mit COUNTA, so müssten Sie diese Formel:
InformationsquelleAutor der Antwort user3280071
Sieht es aus wie Google Apps Script unterstützt jetzt reicht als Parameter der Funktion. Diese Lösung akzeptiert ein Angebot:
Siehe auch die Diskussion in der Google Apps Script-Hilfe-forum: Wie kann ich die Kraft, die Formeln neu zu berechnen?
InformationsquelleAutor der Antwort craig3353
Sah ich mir die vorherigen Antworten, und Sie scheinen, wie Sie arbeiten zu hart. Vielleicht scripting-Unterstützung hat sich einfach verbessert. Ich denke, die Funktion ist so Ausdrücken:
In meiner Tabelle, die ich dann verwenden:
In der Funktion, ich bekomme ein array von Werten mit einer pro referenzierte Zelle, und das gerade iteriert wird vom Ende des Arrays nach hinten, bis es findet einen nicht-leeren Wert oder läuft out-of-Elemente. Blatt Referenzen interpretiert werden sollten, bevor die Daten an die Funktion übergeben. Nicht fancy genug, um multi-Dimensionen. Die Frage haben bitten für die Letzte Zelle in einer Spalte, so dass es zu passen scheint. Es wird wahrscheinlich sterben, wenn man die Daten auch.
Kann Ihre Laufleistung variieren, aber das funktioniert für mich.
InformationsquelleAutor der Antwort Ted H.
versuchen Sie dies:
=INDIRECT("B"&arrayformula(max((B3:B<>"")*row(B3:B))))
Nehme an, dass die Spalte in der Sie suchen, für den letzten Wert ist B.
Und ja, es funktioniert auch mit Leerzeichen.
InformationsquelleAutor der Antwort Andrew Anderson
In einer Spalte mit Leerzeichen, können Sie den letzten Wert mit
InformationsquelleAutor der Antwort JPV
Bekommt dieser den letzten Wert und Griffe leere Werte:
InformationsquelleAutor der Antwort Nader
ohne harte Codierung.
InformationsquelleAutor der Antwort desnyki
Dieser arbeitet für mich:
InformationsquelleAutor der Antwort Pedro
Ist es akzeptabel, eine Antwort auf die ursprüngliche Frage mit streng off topic Antwort:)
Schreiben Sie eine Formel in das Arbeitsblatt, um dies zu tun. Hässlich vielleicht? aber effektiv in die normalen Betriebsbedingungen von einer Tabellenkalkulation.
Dies ist als Gedanke für eine Reihe von Fragen, die im script-Bereich, der konnte zuverlässig geliefert mit array-Formeln, die haben den Vorteil, dass Sie Häufig in ähnliche fashion in excel und openoffice.
InformationsquelleAutor der Antwort DavidF
InformationsquelleAutor der Antwort Marian
Die Antwort
funktioniert nicht korrekt in LibreOffice. Allerdings mit einer kleinen änderung, es funktioniert perfekt.
Es funktioniert immer nur dann, wenn die true range ist kleiner als
(G2:G10000)
InformationsquelleAutor der Antwort Manuel Ferreira
Spielte ich mit dem code von @tinfini, und dachte, die Leute nutzen könnten, was ich denke, das ist eine etwas elegantere Lösung (Hinweis: ich glaube nicht, dass Skripten gearbeitet, ganz auf die gleiche Weise, wenn er erstellt die original-Antwort)...
In der Nutzung würde es so Aussehen:
InformationsquelleAutor der Antwort Jonathan Cavell
Bezüglich @Jon_Schneider Kommentar, wenn die Spalte leere Zellen verwenden Sie einfach COUNTA()
InformationsquelleAutor der Antwort pedro
Ich bin überrascht, dass niemand jemals diese Antwort vor. Aber dies sollte der kürzeste und es funktioniert auch in excel :
G2:G<>""
erstellt ein array von 1/true(1) und 1/false(0). DaLOOKUP
funktioniert ein top-down-Ansatz zu finden2
und Da es nie finden sich 2,kommt es bis zur letzten nicht leeren Zeile und gibt die position, dass.Den anderen Weg, dies zu tun, wie andere erwähnt haben, ist:
Finden die
MAX
imumROW
des nicht-leere Zeile und Einspeisung zuINDEX
Einer null-leere Unterbrechung array, Mit
INDIRECT
RC
notation mitCOUNTBLANK
ist eine weitere option. Wenn V4:V6 ist besetzt mit Einträgen, dannV18:
geben die position der V6.
InformationsquelleAutor der Antwort I'-'I
Ich einen anderen Weg gefunden werden kann, wird es Ihnen helfen,
=INDEX( SORT( A5:D ; 1 ; FALSE) ; 1 )
-zurück Letzte ZeileMehr info von anab hier:
https://groups.google.com/forum/?fromgroups=#!Thema/How-to-Dokumente/if0_fGVINmI
InformationsquelleAutor der Antwort irriss