×

Help Tweakers weer winnen!

Tweakers is dit jaar weer genomineerd voor beste nieuwssite, beste prijsvergelijker en beste community! Laten we ervoor zorgen dat heel Nederland weet dat Tweakers de beste website is. Stem op Tweakers en maak kans op mooie prijzen!

Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Vraag


  • 88Gamer88
  • Registratie: augustus 2013
  • Laatst online: 12:47
(Excuus betreft een cel ipv kolom)

Hallo allemaal,

Ik had een vraag over het volgenden.
Ik ben bezig met een excel bestand te maken voor een Game.

Nu zit er in dat excel bestand een .csv lijst met items die om de 60 minuten geupdate wordt.
Alleen dit gebeurd iedere keer in een andere volgorde.

Nu vroeg ik me af is er een manier om een cel via naam aan te spreken ipv cel "AH!G15014" dat er gezocht wordt naar een naam + achterliggende cel.

Dus voor mij als leek =som(Naam+achterliggende cel"getal") dat deze waarde weergegeven worden in een andere cel.

(Dus in plaats van cel"=AH!G15014" dat het cel gepakt wordt via de naam)

88Gamer88 wijzigde deze reactie 17-09-2017 19:23 (7%)

Alle reacties


  • Osxy
  • Registratie: januari 2005
  • Laatst online: 12:40

Osxy

Holy crap on a cracker

Je bent opzoek naar de indirect functie.

http://www.cpearson.com/excel/indirect.htm

"Divine Shields and Hearthstones do not make a hero heroic."


  • 88Gamer88
  • Registratie: augustus 2013
  • Laatst online: 12:47
@Osxy Ik bedoelde iets anders, was even verward door kolom en cel.

Maar gaat er om dat een cel via naam kan opvragen ipv H7 ofoz

  • Osxy
  • Registratie: januari 2005
  • Laatst online: 12:40

Osxy

Holy crap on a cracker

Dus je weet welke kolom het komt maar niet welke regel?

Dan zou verticaal.zoeken (ofwel vlookup) de oplossing kunnen zijn.

"Divine Shields and Hearthstones do not make a hero heroic."


  • F_J_K
  • Registratie: juni 2001
  • Niet online

F_J_K

Moderator SWS

Front verplichte underscores

Dus je hebt in cel A2 een prijs staan, die je wilt kunnen aanroepen als 'Prijs'? Selecteer A2, klik linksboven op A2 en type daar Prijs in.

Voortaan kan je =10*Prijs doen, ipv =10*A2.

offtopic:
Topictitel aangepast: kolom -> cel.

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


  • 88Gamer88
  • Registratie: augustus 2013
  • Laatst online: 12:47
@F_J_K Zo iets inderdaad, alleen nu is het geval dat de prijs na iedere update in een andere volgorde staat de kolom.

Ene keer staat het op Naam + Prijs op F2 andere keer op F8.

https://tweakers.net/ext/f/wDxjg5XTrgoJWkMdWGNMzetp/thumb.jpg

  • F_J_K
  • Registratie: juni 2001
  • Niet online

F_J_K

Moderator SWS

Front verplichte underscores

Dan zal je moeten scripten (VBA-fucntie maken die het opzoekwerk doet) of inderdaad alsnog vlookup moeten gebruiken.

Of misschien beter: kijken of je de input meer voorspelbaar kan krijgen.

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


  • 88Gamer88
  • Registratie: augustus 2013
  • Laatst online: 12:47
https://www.mediafire.com/file/qnl4038kmdwewpy/Beta.xlsm

Heb hier het Excel bestandje staan voor de duidelijkheid.

Op de eerste tab staat van cel N5 een waarde van "198888"
Deze waarde is afkomstig van tab 2 van cellen F15013

Als ik tab 2 nu update met een nieuwe .csv file staat deze waarden weer op een andere locatie in kolom F & G dus heb ik in de eerste tab N5 geen goeie waarden.

Dus ik zoek iets dat hij altijd de Naam + achterliggende cel pakt om als waarde te tonen op de eerste tab.

EDIT:

@F_J_K Als het zo'n VBA-fucntie zou moeten zijn. hoe zou dit eventueel heten ? :+ .
Zo iets zal denk wel redelijk kant en klaar op internet staan.

88Gamer88 wijzigde deze reactie 17-09-2017 19:57 (15%)


  • F_J_K
  • Registratie: juni 2001
  • Niet online

F_J_K

Moderator SWS

Front verplichte underscores

VBA: Je kunt er een function van maken: http://www.excel-easy.com/vba/function-sub.html
Zoek in kolom (X) naar de gewenste veldnaam, retourneer als resultaat die rij + de juiste kolom.

1op1 wil je nooit VBA overnemen, laat staan als je het van een random plaats op internet hebt. Behalve als je zelf zeker weet wat het doet.

Ik heb de file overigens niet geopend, ik open geen random bestanden van het net ;)

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


  • 88Gamer88
  • Registratie: augustus 2013
  • Laatst online: 12:47
@F_J_K Denk dat qua VBA mij te technisch gaat worden met excel.
Maar ik ga het iedergeval bekijken.

EDIT:

Het is gelukt :).
Zat Engels in te voeren terwijl ik een Nederlandse versie gebruikt |:( |:( 8)7
quote:
=VERT.ZOEKEN("Naam";AH!F2:G15983; 2;)
Dus dit werk prima :)

EDIT 2:

Ik had wel een andere vraag:
Vind zonde om ander topic aan te maken:

Ik heb deze berekening staan in me Excel bestand.
quote:
Function CoppersToMoney(Coppers As Long, Optional teken, Optional total As Long) As String


' This function will format a number (value) into WoW Gold/Silver/Copper values
' The INPUT is any number (value) (...that isn't too big to kill Excel)
' The OUTPUT is a "(x)g (y)s (z)c" WoW currency formatted string


' Tell Excel to recalculate this value if/when other cells change
' by making sure it is defined as "volatile"
Application.Volatile (True)


' Declare vars
' (Using Long to possibly avoid overflow if the string has a very large number to parse)
Dim iCopper As Long
Dim iSilver As Long
Dim iGold As Long


'iSilver = Int((Coppers * IIf(total = 0, 1, total) - (iGold * 10000)) / 100)
' Crunch numbers
If Not IsMissing(teken) Then
iGold = Int(Evaluate(Join(Array(Coppers, teken, IIf(total = 0, 1, total)))) / 10000)
iSilver = Int((Evaluate(Join(Array(Coppers, teken, IIf(total = 0, 1, total)))) - (iGold * 10000)) / 100)
iCopper = Int((Evaluate(Join(Array(Coppers, teken, IIf(total = 0, 1, total)))) - (iGold * 10000) - (iSilver * 100)))
Else
iGold = Int(Coppers / 10000)
iSilver = Int((Coppers - (iGold * 10000)) / 100)
iCopper = Int((Coppers - (iGold * 10000) - (iSilver * 100)))
End If
' Return the full formatted string
CoppersToMoney = iGold & "g " & iSilver & "s " & iCopper & "c"


Finish:
End Function
Alleen nu kan ik alleen de uitkomst vermenigvuldigde met een cijfer

Zo foto:

Uitkomst koper 149900 * 5 = 74g 95s 0c

=CoppersToMoney(I8;"*";G8)

https://tweakers.net/ext/f/czICJzLSjFo0wWpTq52hAUHe/thumb.jpg

Maar nu wil ik ook graag om het antwoord bij elkaar op te tellen of juist aftellen

Zou je denken de * teken veranderen voor een + of - maar dat werkt niet dus niet.
Weet niet om iemand zie wat er fout staat in de code ?

88Gamer88 wijzigde deze reactie 17-09-2017 22:57 (147%)

Pagina: 1


Apple iPhone X Google Pixel 2 XL LG W7 Samsung Galaxy S8 Google Pixel 2 Sony Bravia A1 OLED Microsoft Xbox One X Apple iPhone 8

© 1998 - 2017 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Hardware.Info de Persgroep Online Services B.V. Hosting door True

*