Gibt es eine Möglichkeit, ein Array in Excel kleiner als ein Array in einer Zellen-Tabellenfunktion zu erhalten?
Wenn ich also hätte:
%Vor%Ich würde enden mit:
%Vor%was ich dann mit einer anderen Funktion manipulieren könnte.
Fazit: Wenn ich viele davon machen würde, würde ich definitiv die UDF-Kammlösung von jtolle verwenden. Die Formel, die PPC verwendet, ist nah, aber tauchen und testen, ich finde es gibt Fehler in den leeren Slots, verfehlt den ersten Wert und es gibt einen einfacheren Weg, die Zeilennummern zu bekommen, also hier ist meine endgültige Lösung:
%Vor%Was als Array-Formel eingegeben werden muss (STRG-UMSCHALT-EINGABE). Wenn es angezeigt wird, muss es mindestens in einem Bereich eingegeben werden, der so groß ist wie das Resultset, um alle Ergebnisse anzuzeigen.
Wenn Sie nur eine Teilmenge eines Arrays aufnehmen möchten, und Sie bereits die Positionen der gewünschten Elemente kennen , können Sie einfach INDEX
mit einem Array für das Indexargument verwenden . Das ist:
gibt {22,33,55}
zurück. Aber das ist normalerweise nicht sehr nützlich, weil Sie die Positionen nicht kennen, und ich kenne keine Möglichkeit, sie ohne eine UDF zu bekommen.
Was ich für diese Art der filterinternen Arrayfilterung getan habe, ist das Schreiben einer UDF mit folgender Form:
%Vor%Ich habe nur Pseudocode gepostet, weil mein tatsächlicher Code alle Aufrufe von Bibliotheksfunktionen ist, einschließlich der Operationen zum Sammeln von Positionen und Kopieren von Positionen. Es würde wahrscheinlich die Grundidee verschleiern, die ziemlich einfach ist.
Sie würden eine solche UDF wie folgt aufrufen:
%Vor%oder
%Vor% und benutze die normale Array-Mechanik von Excel, um den "Kamm" zu erzeugen. Es ist ein leichter, Excel-freundlicher Weg, um viele der Vorteile der Standard-Funktion filter(list-to-filter, test-function)
zu erhalten, die Sie in anderen Programmiersystemen sehen können.
Ich benutze den Namen "comb", weil "filter" normalerweise "filter with this function" bedeutet, und bei Excel müssen Sie die Testfunktion anwenden, bevor Sie die Filterfunktion aufrufen. Es kann auch nützlich sein, einen "Kamm" als Zwischenergebnis zu berechnen und ihn dann zu verwenden, um ... mehrere Listen zu kämmen.
Es gibt eine Antwort auf dieser Seite: Ссылка . Nicht viel Erklärung, obwohl.
Angenommen, Sie haben Daten mit leeren Zellen in Spalte A und fügen diese in Spalte B ein; das wird Daten in der gleichen Reihenfolge abrufen, die die Leerzeichen überspringt
%Vor%Hier ist die Erklärung:
Tags und Links arrays excel worksheet-function