Ja, u kunt dit doen met Excel-formules zonder VBA of macro's. De kerntechnieken omvatten het combineren van `INDIRECT`, `ADDRESS`, `ROW`, `COLUMN` en mogelijk andere functies, afhankelijk van de complexiteit van uw verwijzings- en plakbehoeften.
Zo kunt u het aanpakken, opgesplitst in scenario's:
Scenario 1:eenvoudige celreferentie
Stel dat u de waarde uit cel A1 wilt halen en deze in cel B1 wilt plakken. Hiervoor heb je geen ingewikkelde formules nodig; een simpele `=A1` in cel B1 is voldoende.
Scenario 2:dynamische celreferentie
Stel dat u een cel (bijvoorbeeld C1) hebt die de kolomletter ("A") bevat en een andere cel (bijvoorbeeld C2) die het rijnummer (1) bevat. U wilt de waarde ophalen uit de cel waarnaar deze twee cellen verwijzen en deze in D1 plakken. U kunt 'INDIRECT' gebruiken:
Voer in cel D1 de formule in:`=INDIRECT(C1&C2)`
Deze formule voegt "A" en "1" samen om "A1" te creëren, en vervolgens haalt `INDIRECT` de waarde op uit cel A1.
Scenario 3:complexer verwijzen en kopiëren
Stel dat u gegevens in kolom A heeft en waarden van kolom A naar kolom B wilt kopiëren, maar alleen als de overeenkomstige cel in kolom C een specifieke waarde bevat (bijvoorbeeld 'Ja').
* Kolom A: Waarden die mogelijk moeten worden gekopieerd.
* Kolom B: Doelkolom.
* Kolom C: Conditiekolom ("Ja" of andere waarde).
Voer in cel B1 de volgende formule in en sleep deze naar beneden:
`=IF(C1="Ja",A1,"")`
Deze formule controleert of C1 "Ja" is. Als dit het geval is, kopieert het de waarde van A1; anders blijft B1 leeg.
Scenario 4:Kopiëren op basis van rij-/kolomberekeningen
Stel dat u een waarde wilt kopiëren uit een cel drie rijen lager en één kolom rechts van een referentiecel. Als de referentiecel E5 is, wilt u de waarde van G8 kopiëren. U kunt `ADDRESS`, `ROW` en `COLUMN` gebruiken:
Referentiecel (bijvoorbeeld E5)
Gebruik in een andere cel (bijvoorbeeld F5) deze formule:
`=INDIRECT(ADRES(RIJ(E5)+3,KOLOM(E5)+1))`
Dit valt uiteen als:
* `RIJ(E5)`:Haalt het rijnummer van E5 (5) op.
* `COLUMN(E5)`:Haalt het kolomnummer E5 (5) op.
* `RIJ(E5)+3`:Telt 3 op bij het rijnummer (8).
* `KOLOM(E5)+1`:Telt 1 op bij het kolomnummer (6). (Kolom 6 is G)
* `ADDRESS(8,6)`:Genereert het adres "G8".
* `INDIRECT("G8")`:Haalt de waarde op uit G8.
Belangrijke overwegingen:
* Foutafhandeling: `INDIRECT` kan fouten retourneren als de cel waarnaar wordt verwezen ongeldig is. Overweeg het gebruik van `IFERROR` om potentiële fouten af te handelen. Bijvoorbeeld:`=IFERROR(INDIRECT(C1&C2),"")`
* Bladnamen: Als u naar cellen in verschillende bladen moet verwijzen, neemt u de bladnaam op in de `INDIRECT`-functie. Bijvoorbeeld:`=INDIRECT("'Blad2'!A1")` Zorg ervoor dat de bladnaam tussen enkele aanhalingstekens staat als deze spaties of speciale tekens bevat.
* Circulaire referenties: Vermijd het maken van cirkelverwijzingen waarbij een formule direct of indirect naar zijn eigen cel verwijst.
Deze voorbeelden laten zien hoe u verschillende niveaus van dynamisch verwijzen en "plakken" (nauwkeuriger:ophalen van waarden) kunt bereiken met behulp van Excel-formules. Vergeet niet om deze technieken aan te passen aan uw specifieke datastructuur en vereisten. Als u een zeer complex scenario heeft, kan het verstrekken van een voorbeeld van uw gegevens en het gewenste resultaat helpen bij het creëren van een meer op maat gemaakte oplossing. |