Hoi Allemaal,
Ik probeer een gedeelte van een formule te vervangen door de functie INDIRECT zodat ik bij het kopiëren en plakken van de formule niet zoveel hoef aan te passen, kom er alleen niet helemaal uit. Bestand bijgevoegd.
Werkend:
Stukje Januari zou ik 'dynamisch' willen op basis van een cel waar ik deze waarde inzet.Code:=E4/5*VERT.ZOEKEN(Januari[[#Totalen];[Medewerker]];Data[#Alles];7;)
Wat ik probeer:
Tips en suggesties?HTML Code:
1=E18/5*VERT.ZOEKEN(INDIRECT("B29")&"[[#Totalen];[Medewerker]]";Data[#Alles];7;)
Bedankt weer
Laatst aangepast door lukasvandijk : 5 augustus 2022 om 16:07
Deze formule in F18:
=E18/5*VERT.ZOEKEN(B$29;Data[#Alles];7![]()
Maak gebruik van code of php tags, heb je die ontbrekende haakjes en die smiley ook niet.
En je vergeet het laatste argument in dit geval.
____________
Met vriendelijke groet,
Harry
Lag nooit om de keuzes van dien vraauw, bist ter zulf aine van....
(Grunnegs-Gronings)
@lukasvandijk:
Gewoon proberen zou ik zeggen.
@HSV:
Goede tip ;-)
Als ik de voorgestelde formule gebruik, dan werkt die alleen voor die tabel. Als ik de formule plak in een tabel met een andere maand, blijft die logischerwijs naar $29 kijken. Is er een manier waarop ik in de tabel de formule zo kan schrijven dat dat het wel werkt? Ik wilde het dus oplossen de tekst januari dynamisch te maken met de formule INDIRECT. Zodat de maand altijd gevuld wordt door wat er in de tabel staat geschreven, zo kan de formule makkelijk gekopieerd en geplakt worden. Vooral in het kader kader om te kjken wat er allemaal mogelijk is met Excel ook hoor, de voorgaande oplossing werkt natuurlijk ook
Code:=E7/5*VERT.ZOEKEN(Januari[[#Totalen];[Medewerker]];Data[#Alles];7;)
Als de naam van je tabel altijd dezelfde is kun je gebruik maken van een indirecte verwijzing naar de totaalrij van je tabel.
Onderste rij:
Linker kolom:Code:r = RIJ(tabelnaam)+RIJEN(tabelnaam)
Cel linksonder:Code:k = KOLOM(tabelnaam)
dusCode:=INDIRECT(ADRES(r;k))
In cel F4 staat nu:Code:=INDIRECT(ADRES(RIJ(tabelnaam)+RIJEN(tabelnaam);KOLOM(tabelnaam)))
B$29 vervang je dan door:Code:=E4/5*VERT.ZOEKEN(B$29;Data[#Alles];7;)
dat wordt danCode:INDIRECT(ADRES(RIJ(tabelnaam)+RIJEN(tabelnaam);KOLOM(tabelnaam)))
Omdat je tabel, ietwat verwarrend, de naam Januari draagt wordt het:Code:=E4/5*VERT.ZOEKEN(INDIRECT(ADRES(RIJ(tabelnaam)+RIJEN(tabelnaam);KOLOM(tabelnaam)));Data[#Alles];7;)
Code:=E4/5*VERT.ZOEKEN(INDIRECT(ADRES(RIJ(Januari)+RIJEN(Januari);KOLOM(Januari)));Data[#Alles];7;)
Laatst aangepast door huijb : 6 augustus 2022 om 14:49
De tabel van januari heet januari.
De tabel van februari heet januari20
Het probleem blijft dan bestaan als je de bovenstaande formule van tabel januari naar tabel februari (januari20 genaamd) kopieert dat de verwijzing naar de januar-tabel blijft staan.
probeer deze eens:Code:=E18/5*VERT.ZOEKEN(INDEX(B18:B32;X.VERGELIJKEN($B$1;B18:B30;0;1)-1);Data[#Alles];7;)
groeten Sylvester Ponten
ik gebruik Ms Windows 10 en met plezier excel 365
ps geef zelf ook aub aan welke excel u gebruikt.
ps persoonlijke mail lees ik hoogstens 1 maal per jaar
Of met VBA:
Code:=E4/5*VERT.ZOEKEN(Tabelnaam(B4);Data[#Alles];7;)Code:Function Tabelnaam(rng As Range) As String Tabelnaam = rng.Cells(1).ListObject.Name End Function
En nog steeds vergeten de 'helpers' het argument "BENADEREN".
____________
Met vriendelijke groet,
Harry
Lag nooit om de keuzes van dien vraauw, bist ter zulf aine van....
(Grunnegs-Gronings)
Default voor BENADEREN is ONWAAR, dus kan hier weggelaten worden toch?
Laatst aangepast door huijb : 6 augustus 2022 om 14:50
Dan zou ik de HELP er nog maar eens op nalezen als je het niet zeker weet!
Je zou het al kunnen zien aan de waarde die je ophaalt.
____________
Met vriendelijke groet,
Harry
Lag nooit om de keuzes van dien vraauw, bist ter zulf aine van....
(Grunnegs-Gronings)
Default benaderingswijze in VERT.ZOEKEN = WAAR (= benaderen).
Dus als je wilt benaderen kan je de parameter weglaten.
Laatst aangepast door HansDouwe : 6 augustus 2022 om 14:10
Harry, je hebt gelijkde maanden staan niet op alfabetische volgorde. dus benaderen moet op Onwaar
groeten Sylvester Ponten
ik gebruik Ms Windows 10 en met plezier excel 365
ps geef zelf ook aub aan welke excel u gebruikt.
ps persoonlijke mail lees ik hoogstens 1 maal per jaar
Default is inderdaad WAAR, maar dan moet je lijst gesorteerd zijn en dat is het niet.
Edit: Sylvester.![]()
____________
Met vriendelijke groet,
Harry
Lag nooit om de keuzes van dien vraauw, bist ter zulf aine van....
(Grunnegs-Gronings)
Trouwens
Codeer in F4:
(het generen van Januari[[#Totalen];Medewerker]] gaat vanzelf als je op dat veld klikt.)Code:=E4/5*VERT.ZOEKEN(Januari[[#Totalen];[Medewerker]];Data;7;ONWAAR)
Als je daarna de tabel kopieert met CTRL-C - CTRL-V dan heet de nieuw tabel januari<n> en is de bovenstaande verwijzing in de nieuwe tabel automatisch ook gewijzigd in januari<n>
[De eerste keer n = 2]
Daarna hoef je alleen maar onder in de nieuwe tabel de maand januari aan te passen in februari. Dan gaat het al goed. En worden de aantal werkdagen van februari opgehaald.
Voor de duidelijkheid zou ik de tabelnaam januari<n> ook nog wijzigen in februari, dan wijzigen de verwijzingen ook van januari<n> naar februari.
Of noem de tabel Maand.
Dan krijg je daarna automatisch de tabelnamen Maand2, Maand3 enzovoort.
Laatst aangepast door HansDouwe : 6 augustus 2022 om 15:08
Graag VBA code tussen de code tags plaatsen anders is het onleesbaar voor de helpers. Enkele berichten daarom aangepast.
Gegroet
Ik heb het net ook even geprobeerd
1. Tabelnaam aanpassen in maand
2. Zorg voor de juiste formule in F4: =E4/5*VERT.ZOEKEN(Maand[[#Totalen];[Medewerker]];Data;7;ONWAAR)
[ Dit staat al goed in origineel van Lucas in post #1] Verder geldt als tabelnaam wordt aangepast bovenstaand label natuurlijk ook wordt aangepast]
3. Daarna CTRL-C en 11 * CTRL-V van de gehele tabel
4. De maandnamen links onderin aangepast.
Verder niets.
En alle verwijzingen staan automatisch precies goed.
Geen gedoe met (extra) indirecte verwijzingen,
Laatst aangepast door HansDouwe : 6 augustus 2022 om 17:01
Ja dat is denk ik de meest elegante oplossing Hans! Bedankt voor al de reacties, leerzaam!
Laatst aangepast door huijb : 7 augustus 2022 om 09:10