Dünaamilised hüperlingid tabelite vahel

Kui olete selle funktsiooniga vähemalt tuttav VPR (OTSING) (kui ei, siis käivitage esmalt siin), siis peaksite mõistma, et see ja teised sellega sarnased funktsioonid (VAATA, INDEX ja OTSI, SELECT jne) annavad alati tulemuse väärtus – number, tekst või kuupäev, mida antud tabelist otsime.

Aga mis siis, kui soovime väärtuse asemel saada reaalajas hüperlinki, millele klõpsates saaksime teises tabelis koheselt leitud vastele hüpata, et seda üldises kontekstis vaadata?

Oletame, et meil on sisendiks klientide jaoks suur tellimuste tabel. Mugavuse huvides (kuigi see pole vajalik) teisendasin tabeli dünaamiliseks "nutikaks" kiirklahviks Ctrl+T ja andis vahelehel Ehitaja (Kujundus) tema nimi tabOrders:

Eraldi lehel Konsolideeritud Ehitasin pivot tabeli (kuigi see ei pea olema täpselt pivot tabel – põhimõtteliselt sobib iga tabel), kus algandmetel arvutatakse iga kliendi müügidünaamika kuude lõikes:

Lisame tellimuste tabelisse veeru valemiga, mis otsib lehelt praeguse tellimuse kliendi nime Konsolideeritud. Selleks kasutame klassikalist funktsioonide hulka INDEX (INDEX) и ROHKEM AVALDATUD (MATCH):

Nüüd mähkime oma valemi funktsiooniks KAMBER (KAMBER), millel palume kuvada leitud lahtri aadressi:

Ja lõpuks paneme kõik, mis on osutunud, funktsiooniks HÜPERLINK (HYPERLINK), mis Microsoft Excelis saab luua reaalajas hüperlingi antud teele (aadressile). Ainus asi, mis pole ilmne, on see, et peate vastuvõetud aadressi algusesse räsimärgi (#) liimima, et Excel tajuks linki õigesti sisemisena (lehelt lehele):

Nüüd, kui klõpsate mõnel lingil, hüppame koheselt liigendtabeliga lehel ettevõtte nimega lahtrisse.

Täiendus 1. Liikuge soovitud veergu

Et asi tõesti hea oleks, parandame veidi oma valemit, et üleminek ei toimuks mitte kliendi nimele, vaid konkreetsele numbrilisele väärtusele täpselt selles kuu veerus, millal vastav tellimus vormistati. Selleks peame meeles pidama, et funktsioon INDEX (INDEX) Excelis on väga mitmekülgne ja seda saab muu hulgas kasutada järgmises vormingus:

=INDEX( XNUMXD_vahemik; Rea_number; Veeru_number )

See tähendab, et esimese argumendina saame määrata mitte pivotis olevate ettevõtete nimedega veergu, vaid kogu pivot-tabeli andmeala ja kolmanda argumendina lisada meile vajaliku veeru numbri. Seda saab funktsiooni abil hõlpsasti arvutada KUU (KUUS), mis tagastab tehingu kuupäeva kuu numbri:

Parendus 2. Ilus lingi sümbol

Funktsiooni teine ​​argument HÜPERLINK – teksti, mis kuvatakse lingiga lahtris – saab ilusamaks muuta, kui kasutada banaalsete märkide “>>” asemel ebastandardseid märke Windings, Webdings fontidest jms. Selleks saate kasutada funktsiooni SYMBOL (CHAR), mis suudab kuvada tähemärke nende koodi järgi.

Näiteks Webdingsi fondi märgikood 56 annab meile hüperlingi jaoks kena topeltnoole:

Täiustus 3. Tõstke esile praegune rida ja aktiivne lahter

Noh, ilu lõplikuks võiduks terve mõistuse üle võite meie failile lisada ka lihtsustatud versiooni, mis tõstab esile praeguse rea ja lahtri, mille linki jälgime. Selleks on vaja lihtsat makrot, mille riputame lehel valiku muutmise sündmuse käsitlemiseks Konsolideeritud.

Selleks paremklõpsake lehe vahekaarti Kokkuvõte ja valige käsk vaade kood (Vaata kood). Avanevas Visual Basicu redaktori aknas kleepige järgmine kood:

Private Sub Worksheet_SelectionChange (ByVal Target as Range) Cells.Interior.ColorIndex = -4142 Cells (ActiveCell.Row, 1).Resize (1, 14).Interior.ColorIndex = 6 ActiveCell.Interior.Color Subdex = 44 End  

Nagu hõlpsasti näete, eemaldame siin esmalt täidise kogu lehelt ja seejärel täidame kogu rea kokkuvõttes kollasega (värvikood 6) ja seejärel oranžiga (kood 44) ​​praeguse lahtriga.

Kui nüüd on kokkuvõtliku lahtri sees valitud mõni lahter (see pole oluline – käsitsi või meie hüperlingil klõpsamise tulemusena), tõstetakse esile kogu rida ja lahter koos vajaliku kuuga:

Ilu 🙂

PS Ärge unustage faili salvestada makrotoega vormingus (xlsm või xlsb).

  • Väliste ja sisemiste linkide loomine funktsiooniga HYPERLINK
  • Meilide loomine funktsiooniga HYPERLINK

Jäta vastus