Toon posts:

[Excel] Merge met excel vraag

Pagina: 1
Acties:
  • 125 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik heb een excel bestand met daarin de aanwinstenlijsten van onze bibliotheek. Deze excel lijst wil ik graag via de mailmerge functie van Word inlezen en dan uitprinten met een mooie opmaak.

Het excel bestand ziet er als volgt uit:
1 veld met de hoofdtitel, 1 veld met de ondertitel, vervolgens 1 veld met de auteur , 1 veld met het plaatsingskenmerk etc.

Dit excel bestand heb ik via de mailmerge functie in Word ingeladen en zo kan ik het mooi in een sjabloon gieten. Werkt perfect, de titel wordt dikgedrukt, als er een auteur is komt er "Auteur: " voor de naam te staan.

Maar, ik zit nu met het volgende:
Het excel bestand verkrijg ik uit een bibliotheek programma. Dit werkt uitstekend behalve als een boek meer auteurs heeft. Het ziet er dan als volgt uit:

code:
1
2
3
4
Het verlaten huis \ Wolkers, Jan   \ 002.23
Het dikke boek     \ Mullisch, Harry \ 230.34
                   \ Reve, Gerard   \
Glazen kast         \ Puk, Piet     \ 323.34


Het probleem ontstaat nu bij het verwerken van Het dikke boek. Zoals je ziet heeft dit boek 2 auteurs (Mullisch en Reve). Het bibliotheek programma maakt in Excel een lege regel aan en vult alleen de auteursnaam. De titel van het boek blijft bijv. leeg. Met de mailmerge van Word geeft dit problemen: ik krijg dan een lege bladzijde met alleen de auteursnaam.

Hoe kan ik via de mailmerge optie (of op een andere manier) aangeven dat de 2e auteur bij het boek erboven hoort en dat ik in plaats van dit:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
Titel: Het verlaten Huis
Auteur: Jan Wolkers
Waar te vinden: 002.23
-------------------------------
Titel: Het dikke boek
Auteur: Harry Mullisch
Waar te vinden: 002.23
-------------------------------
Auteur: Gerard Reve
-------------------------------
Titel: Glazen kast
Auteur: Piet Puk
Waar te vinden: 323.34


dit op het scherm krijg:

code:
1
2
3
4
5
6
7
8
9
10
11
Titel: Het verlaten Huis
Auteur: Jan Wolkers
Waar te vinden: 002.23
-------------------------------
Titel: Het dikke boek
Auteur: Harry Mullisch en Gerard Reve
Waar te vinden: 002.23
-------------------------------
Titel: Glazen kast
Auteur: Piet Puk
Waar te vinden: 323.34


Ik hoop dat mijn vraag duidelijk is. Ik heb ook 2 testbestandjes online staan (1 met de mailmerge en 1 met het excel bestand): http://members.home.nl/rolandsnoek/probleem.zip

Bij het openen van het Word bestand moet je alleen even handmatig de locatie van het excel bestand (zit ook in de zip file) aangeven (hij verwijst nu naar mijn bureaublad en ik krijg die koppeling er niet zo snel uit).

[ Voor 8% gewijzigd door Verwijderd op 14-01-2005 15:54 ]


  • onkl
  • Registratie: Oktober 2002
  • Laatst online: 17:33
Je mailmerge gaat dit niet kunnen. Je moet je Excelbestand omvormen. Er komt zo een voorbeeldje naar je toe. (alsthans, heb je een e-mail adres daartoe?)

  • onkl
  • Registratie: Oktober 2002
  • Laatst online: 17:33
Gereed:
Het onderstaande verhaal zorgt ervoor dat eventuele dubbele auteurs samen worden gevoegd en vervolgens worden de lege regels uit je bestand gehaald.


in tabblad Excel: voeg 4 kolommen toe voor kolom A
in D1:
auteur
In D2:
=IF(G2="";"";CONCATENATE(G2;IF(H2="";"";CONCATENATE("";", ";H2));IF(I2="";"";CONCATENATE(", ";I2));IF(J2="";"";CONCATENATE("";", ";J2))))
Deze formule bouwt alle info over een auteur in die rij in 1 cel)
In C1:
extra auteurs
In C2:
=IF(E2="";D2;"")
Als er in deze rij geen titel staat -> zet hier dan de auteur neer
In B1:
Auteurs
In B2:
=IF(C3="";D2;IF(C4="";CONCATENATE(D2;" en ";B3);CONCATENATE(D2;", ";B3)))
Als er in C3 niets staat (een extra auteur, die bij hetzelfde boek hoort), plak hier dan de auteur.
Anders, als er in C4 niets staat: plak de auteursnamen achter elkaar met en ertussen, anders met een komma (voor: Janje, Pietje en Klaasje)
In A1:
Titelnummer
In A2:
=IF(E2="";"";1)
LET OP: In A3:
=IF(E3="";"";MAX(A$2:A2)+1)
Sleep dit geheel naar beneden, rekening houdend met A3.
Maak een oplopende nummering van de "goede" rijen.
Dan maak je twee nieuwe tabbladen aan.
ene noem je: Velden
andere: Nieuwe aanwinsten
Kopieer alle kolomtitels (rij 1) van blad "Excel"
Ga naar Velden A1 , Plakken speciaal, transponeer
Ga naar nieuwe aanwinsten:
Zet in A1: Regel
In de kolommen daarnaast zet je de kolommen die je over wilt nemen uit blad Excel, bijvoorbeeld "Auteurs", "Hoofdtitel". Letterlijk, geen typo's
In A2:
=IF(ISERROR(MATCH(ROW(A2)-1;excel!A:A;0));"";MATCH(ROW(A2)-1;excel!A:A;0))
Oftewel: Zoek het rijnummer van cel A2 -1 (da's 1) in kolom A van blad excel. Gevonden? Geef dan het rijnummer.
In B2:
=IF($A2="";"";IF(INDEX(excel!$1:$65536;'Nieuw aanwinsten'!$A2;MATCH('Nieuw aanwinsten'!B$1;Velden!$A$1:$A$24;0))=0;"";INDEX(excel!$1:$65536;'Nieuw aanwinsten'!$A2;MATCH('Nieuw aanwinsten'!B$1;Velden!$A$1:$A$24;0))))
Sleep dit naar rechts totdat er onder alle titels in rij 1 wat staat.
Daarna sleep je dit naar beneden.
Deze formule:
-Checkt of er in de nummer regel wat staat (=IF($A2="";"";)
-Zoekt de kolom waarin de brondata staat: MATCH('Nieuw aanwinsten'!B$1;Velden!$A$1:$A$24;0 (kijk naar boven, wat daar staat, welke positie heeft dat in de rij met veldnamen in "Velden")
-Pakt de goede cel
-Controleert of íe niet leeg is (zonder deze check zet Excel je blad vol nullen)
-En neemt de waarde over.

Je mailmerge moet je even verbouwen zodat íe verwijst naar het "nieuwe aanwinsten" werkblad, iedere nieuwe lijst kan je plakken in het excel blad.

[ Voor 14% gewijzigd door onkl op 14-01-2005 16:56 ]


Verwijderd

Topicstarter
Zo, dat is een antwoord! Je hebt een fantasische kennis van Excel zeg!

Ik moet me er even goed in gaan verdiepen, ik begrijp het redelijk, maar sommige dingen moet ik nog even goed doornemen omdat ik daarvan nog nooit gehoord hard.

Ik heb net al je stappen uitgevoerd, maar ik krijg mijn werkblad niet aan de praat?

Heb je misschien nog de door jou gemaakte versie en zou je die willen mailen naar rolandsnoek@hotmail.com ? Ik denk dat ik ergens iets fout gedaan heb, maar omdat ik sommige functies niet ken is het lastig uit te zoeken. Met een werkend exemplaar kan ik even in alle rust uitzoeken hoe je het nu gedaan hebt.

Fantastisch, ik waardeer je hulp zeer! _/-\o_ _/-\o_

[ Voor 100% gewijzigd door Verwijderd op 15-01-2005 14:49 ]


Verwijderd

Topicstarter
Ik ben er al achter waar het fout gaat, ik heb een Nederlandse excel hier op mijn werk...

Middels dit topic: [rml][ Excel 2003] Engelse formules gebruiken in NL versie[/rml] is het mij gelukt het werkende te krijgen.

Ik vind het echt geniaal, ik begin het steeds meer te begrijpen hoe het werkt, maar het gaat flink diep. Ik ben heel erg geholpen!

Misschien kan iemand nog uitleggen hoe je kan controleren of een cel leeg is? Dat begrijp ik niet helemaal.

[ Voor 153% gewijzigd door Verwijderd op 17-01-2005 12:33 ]