![Excel-Formel zum Erstellen zweier Einträge aus einer Referenz](https://rvso.com/image/1665742/Excel-Formel%20zum%20Erstellen%20zweier%20Eintr%C3%A4ge%20aus%20einer%20Referenz.png)
Ich habe alle meine Daten in Excel-Spalte A und möchte die Spalte B mithilfe einer Formel ausfüllen. Siehe das beigefügte Bild:
Wenn ich „&_x1“ und „&_x2“ mit der Referenzzelle verwende, funktioniert es, aber die Einschränkung besteht in diesem Fall darin, dass ich es nicht nach unten ziehen kann, um die gleiche Formel in der folgenden Zelle in Spalte B anzuwenden. Ich muss die Referenzzelle manuell anpassen, indem ich zu jeder einzelnen Zeile in Spalte B gehe.
Gibt es einen anderen Ansatz, den ich verwenden kann? Mein Ziel ist, dass, nachdem ich die Formel in Zeile1-SpalteB hinzugefügt habe, wenn ich die Ecke nach unten ziehe, alle Zeilen der Spalte B ausgefüllt werden sollen. Ich muss die Formel in keiner anderen Zelle in Spalte B anpassen. Die endgültige Tabelle sollte genau so aussehen, wie Sie sie im beigefügten Bild sehen.
Antwort1
Die folgende Formel erstellt die benötigte Spalte.
Aus Ihrer Beschreibung geht klar hervor, dass Sie eine formelle Tabelle füllen. Daher habe ich es auf eine Weise gemacht, bei der keine SPILL
Funktionalität genutzt wird, da diese in einer Tabelle nicht funktioniert.
=INDIRECT("A" & ROUNDUP(ROW()/2, 0)) & "_x" & IF(MOD(ROW(),2)=1, 1, 2)
Die Adressierung der Quellzelle erfolgt mithilfe INDIRECT()
einer Zeichenfolge, die Sie aus dem Spaltenbuchstaben und einer Formel erstellen. Die Formel nimmt die Zeilennummer, dividiert sie durch 2 und rundet dann auf. Sie dividieren durch 2, um Paare für jede Eingabe zu erhalten. Wenn Sie fünf Elemente pro Satz benötigen, dividieren Sie durch 5 usw.
Der in „_x1“ und „_x2“ benötigte Wert „1“ oder „2“ wird mit einer anderen Rechenoperation ermittelt, wobei diesmal MOD()
2 als Divisor verwendet wird und so entweder 1 (ungerade Zeilen) oder 0 (gerade Zeilen) erhalten wird. Ein IF()
Test prüft, was der richtige Wert ist, und gibt die richtige 1 oder 2 zum Erstellen dieses Teils der Zeichenfolge aus.
(Wenn Sie keine Tabelle verwenden und SPILL
Funktionalität wünschen, können Sie dieselben Dinge tun, indem Sie SEQUENCE()
anstelle von verwenden ROW()
, um die zu teilenden Zahlen zu erzeugen, oder, wenn es anspruchsvoller ist, können Sie es verwenden, um die Zeilenwerte direkt zu generieren.)
Antwort2
Sie können Folgendes versuchen:
Eine Array-Formel (CSE) in Zelle B42:
{=INDEX($A$42:$A$45, MATCH(FALSE, COUNTIF($B$41:B41, $A$42:$A$45)=2, 0))}
Beenden Sie die Formel mitStrg+Umschalt+Eingabe, und füllen Sie nach Bedarf auf.
2hilft der Formel in der Zelle,
B42
Werte von zu wiederholenA42:A45
, und ist editierbar.Formel in Zelle C42:
=IF(COUNTIF(B$42:$B42,$B42)=1,B42&"_x1",IF(COUNTIF(B$42:$B42,$B42)=2,B42&"_x2",""))
Oder Sie können auch Folgendes verwenden:
=IF(COUNTIF(B$42:$B42,$B42)=1,B42&"_x1",B42&"_x2")
Achtung
- Passen Sie die Zellbezüge in der Formel nach Bedarf an.
- Der Übersichtlichkeit halber können Sie die Hilfespalte ausblenden.