2016-03-28 7 views
-6

Bin Office 2013 unter Windows 10 mit 16 GB Arbeitsspeicher ausgeführt.Wie weisen Sie Eltern mithilfe von Excel Kinder zu?

Bitte schlagen Sie eine Excel-Formel für das folgende Problem vor.

Anhand einer Artikelliste (z. B. Elemente A - Z) und einer Gliederung ihrer Beziehungen, wie Sie Kinder Eltern zuweisen? Hier

ist der Ausgangspunkt:

ITEM OUTLINE 
A  1 
B  1.1 
C  1.1.1 
D  1.1.2 
E  1.1.2.1 
F  1.2 
G  1.2.1 
H  1.2.1.1 
I  1.2.1.1.1 
J  1.3 
K  1.3.1 
L  1.3.2 
M  1.3.3 
N  1.3.3.1 
O  1.3.3.1.1 
P  1.3.3.1.1.1 
Q  1.3.3.1.1.2 
R  1.3.4 
S  1.4. 
T  1.4.1 
U  1.4.1.1 
V  1.4.1.1.1 
W  1.4.1.1.1.1 
X  1.4.1.1.1.1.1 
Y  1.4.1.1.1.1.2 
Z  1.4.2 

Mit anderen Worten, wie zu setzen alle Kinder eines Elternteils in benachbarten Zellen in der gleichen Zeile wie die Eltern. Eine Lösung würde wie folgt aussehen:

ITEM OUTLINE   CHILDREN 
A  1    B F J S 
B  1.1    C D 
C  1.1.1 
D  1.1.2   E 
E  1.1.2.1 
F  1.2    G 
G  1.2.1   H 
H  1.2.1.1   I 
I  1.2.1.1.1 
J  1.3    K L M R 
K  1.3.1 
L  1.3.2 
M  1.3.3   N 
N  1.3.3.1   O 
O  1.3.3.1.1  P Q 
P  1.3.3.1.1.1 
Q  1.3.3.1.1.2 
R  1.3.4 
S  1.4.   T Z 
T  1.4.1   U 
U  1.4.1.1   V 
V  1.4.1.1.1  W 
W  1.4.1.1.1.1  X Y 
X  1.4.1.1.1.1.1 
Y  1.4.1.1.1.1.2 
Z  1.4.2 

Die Tabelle sagt zum Beispiel, dass Artikel J 4 Kinder hat; K, L, M und R.

Mehrere Elemente sind Blattknoten, was bedeutet, dass sie keine Kinder haben. Beispiele sind die Elemente C, E, I, K usw.

Element A ist das Stammverzeichnis und hat kein übergeordnetes Element.

Ein Validierungstest besteht darin, dass die Summe der Kinder der Summe der Elemente minus 1 (Element A) entspricht.

Formel nur bitte - kein VB-Skript.

+0

Ich bin immer noch versuchen, herauszufinden, wie der Umriss einer Beziehung definiert. –

+1

1 ist Eltern 1.1, 1.2, 1.3, 1.4 sind Kinder bis 1 ..... 1.1 hat zwei Kinder 1.1.1 und 1.1.2. etc. – xQbert

+0

Schlagen Sie vor, wie [bedingte kumulative Summen in einer Excel-Tabelle gefunden werden] (http://stackoverflow.com/questions/36096796/how-to-find-conditional-cumulative-sums-in-an-excel-table) -verwenden-vba-Makro/36169210 # 36169210). – Jeeped

Antwort

5

Versuchen Sie, diese Formel:

=IFERROR(INDEX($A$2:$A$27,AGGREGATE(15,6,ROW(2:$26)/((NOT(ISNUMBER(SEARCH(".",MID($B3:$B$27,LEN($B2)+2,999)))))*(SEARCH($B2 & ".",$B3:$B$27)=1)),COLUMN(A:A))),"") 

enter image description here

Die aggregierte() Funktion wurde in Excel eingeführt 2010.

+1

TY zum Abfangen des Fehlers in Zeile 20 (zuvor war 1.4.). Wenn ich meinen eigenen Fehler behoben habe, funktioniert deine Lösung perfekt. –

+0

Ich habe ein Problem festgestellt, wenn eine Gliederung eine mehrstellige Ebene hat (z. B. 1.4.10). Ich bin unsicher, wie ich den LEN aktualisieren soll. Soll ich eine neue Frage eröffnen und auf Ihren Rat zu dieser neuen Frage warten? –

+1

@JayGray siehe bearbeiten. Es funktioniert für 1- oder 2-stellige Kinder. Wenn die Kinder dreistellig werden, ist das ein Problem. –

Verwandte Themen