2016-05-05 5 views
0

Ich brauche Hilfe. Ich habe eine Liste von mehreren IDs in Spalte A, Spalte b enthält Daten der Anzahl der Elemente, die mit der ID verknüpft sind. Ich möchte eine Liste jeder Seite, die zu jeder ID gehört, wie folgt erzeugen, also möchte ich in Spalte C (zum Beispiel) "a - Page 0001" den ganzen Weg bis "a - 1000" geben, dass a 1000 Seiten hatte, dann aber wann es 1000 erreicht, ich es aus neu gestartet werden soll b wie folgt:Formel automatisch starten, wenn der Parameter erfüllt ist?

Column A Column B 
a   1000 
b   2000 
c   1500 
d   1200 
e    700 

a - Page 0001 
a - Page 0002 
a - Page 0003 
a - Page 0004 
… 
a - Page 1000 
b - Page 0001 
b - Page 0002 
b - Page 0003 
b - Page 0004 
… 
b - Page 0001 
… 
b - Page 2000 
c - Page 0001 

ich habe versucht, die folgende Formel:

=IF(ROW(C1)< B1+1,CONCATENATE($A$1," - Page ",TEXT(ROW(C1),"0000"),"")) 

Das Problem ist, dass, sobald es 1000 erreicht bekomme ich Fehler (#VALUE Ich glaube, ich muss $ & A $ 1 sonst, wenn ich die Formel nach unten ziehen, wird es nur auf die Spalte auf der linken Seite beziehen und ich werde eine - Seite 0001, b - Seite 0002 usw. Secon bekommen dly, ich benutze die ROW-Funktion, um die Seitennummern zu generieren, aber ich verstehe nicht, wie ich es zwingen kann, von 1 neu zu starten, sobald es das Maximum erreicht hat (d. h. 1000 für a).

+0

Tisch an der Spitze, wo Sie den Namen ziehen, und die Anzahl der Seiten, wie viele Zeilen ist, dass Tabelle? Wenn es klein ist, können wir eine Reihe von verschachtelten Wenns machen. Sind die Seiten einzigartig? dh taucht 1000 nur einmal auf, oder besteht die Möglichkeit, dass ein anderer Buchstabe 1000 hat? –

+0

Können wir eine Hilfssäule für Ihren Tisch haben? –

+0

Hallo Forward Ed, ich habe über 1000 IDs, und es gibt mehrere Instanzen von 1000, einige haben vielleicht nur 1 Seite, manche vielleicht 30, manche vielleicht 1500. – msinghm

Antwort

0

wird diese Formel können Sie die Liste der einzelnen Seiten generieren:

=IFERROR(INDEX($A$1:$A$5,IFERROR(MATCH(ROW(C1)-1,$C$1:$C$5,1)+1,1))&" - Page "&RIGHT("0000"&ROW(C1)-IFERROR(INDEX($C$1:$C$5,MATCH(ROW(C1)-1,$C$1:$C$5,1)),0),4),"") 

Der Schlüssel, um es Arbeit zu machen Spalte C ist, die eine Formel Helfer ist. In C werden wir eine laufende Summe der Anzahl der Seiten platzieren. In C1 Verwendung:

beachten Sie die fehlende $ in der letzten Adresse, es ist wichtig, dass es nicht da sein. kopiere das für die Länge deines Tisches nach unten.

Results

Beachten Sie die ausgeblendeten Zeilen

+0

Hallo Forward Ed, vielen Dank für Ihre Antwort, das ist großartig, aber ich habe keine laufende Summe für jede ID, ich habe eine Liste von IDs in Spalte A, Spalte B sagt mir, wie viele Seiten ich habe. Ausgehend von diesen beiden Spalten möchte ich eine Liste erstellen, die (wie Sie es getan haben) die ID (Spalte a) und Zahlen bis zur letzten Zahl (in Spalte b) verknüpft, dann möchte ich die Zeile nach der letzten für irgendeine gegebene ID (a - Seite 1000), um b - Seite 0001 zu sein. Die Formel, die du gabst, ist zwar groß und besser als meine, ich kann es immer noch nicht bei 0001 wieder starten, sobald die letzte ID ihr Maximum erreicht hat. – msinghm

+0

Ich weiß nicht, wie das ohne die Verwendung der Hilfssäule zu tun ist. Die Helperspalte, die mit der zweiten Formel generiert wird, gibt den Haltepunkt an, wann der Buchstabe geändert werden soll und wie viele Seiten von der Zeilennummer abgezogen werden sollen, um die richtige Seitennummer für den Brief zu erhalten, mit dem Sie gerade zu tun haben. Wenn Sie nicht möchten, dass die Hilfesäule angezeigt wird, können Sie sie an der Seite ablegen, oder Sie können die Spalte, in die Sie sie einfügen, ausblenden. –

+0

Ich benutze die Hilfesäule und glaube, dass es eine großartige Idee ist (I Ich wünschte, ich hätte vorher darüber nachgedacht, aber es summiert die Zahl b1 und b2, dann b2 und b3 und liefert eine laufende Summe, aber ich habe eine Liste von 1000 IDs, die ID ist in Spalte a, die Anzahl der Seiten ist in Spalte b, also, wo ich eine Reihe habe, die mir sagt, dass ich 1000 Seiten habe, will ich eine Liste von 1000 Reihen erzeugen, die zu ID A und seinen 1000 Seiten gehören und sobald es 1000 erreicht, um von b und so weiter zu beginnen. – msinghm

Verwandte Themen