Buď v zdrojovej oblasti použiť filter a skopírovať iba neprázdne bunky, alebo vytvoriť "doplnok" množiny VybranáOblasť mínus PrázdneBunkyVoVybranejOblasti a kopírovať tento Range...
Doplnok množiny rieši napr. tuná nejaký martinee: http://www.mrexcel.com/forum/excel-questions/92743-subtract-ranges.html
@Dian: tak už vim řešení, musí se to prvně seřadit, od A-Z a pak Vloopup funguje, názvy nakonec nebyly špatně...takže to nefungovalo jen kvuli tomu, že to nebylo seřazený
U VLOOKUP nemusia byť dáta zoradené, pozri si nápovedu v sprievodcovi funkciou, opakujem, čo zmieňuje marjankaj.
Tie 3 nakúpené položky v ceníku nemáš
@Palooo: preto si radsej taketo funkcie sam vytvaram :)) aby som vedel co robia
no, ešte ju v tom podporuj , občas stačí vedieť, čo robia štandardné funkcie...
kupec X ve 2.tabulce zakoupil jen část produktu z celého toho ceníku v tab. 1, jestli mi rozumíte
nie, ja nerozumiem
kupec X kúpil mimo iného napr.:
1VW Golf II/III, Jetta II, Passat ;HA;B1
iRC; Zusatzmodul zum BRC
OPEL KADETT E, ASTRA F;V;B2
a tieto 3 položky naozaj v cenníku (aspoň takto označené) nemáš
ty názvy jsou totiž pomíchaný a nejdou přesně za sebou
tak toto by problém nebol, problém je, že názvy nekorešpondujú, nie, že sú prehádzané
Dělala jsem to přes Vvyhledat (u mě VLOOKUP)
no, to asi "pôjde" ťažko, keď máš v stĺpcoch Material a Produkt nezhodné údaje..
viď príklad:
VW Golf II/III, Jetta II, Passat ;VA;B1 (v stĺpci Produkt)
1VW Golf II/III, Jetta II, Passat ;HA;B1 (v stĺpci Material)
to má ten chudák excel ako porovnať čo potom?
za nič
ten vzorec nepobiram
to chce len trochu praxe
Find hľadá pozíciu reťazca v inom reťazci.
Zápis FIND($A$1;$B$1)>0) vracia TRUE alebo #VALUE!, v závislosti na tom, či sa jeden reťazec vyskytuje v druhom.
IFERROR vracia Nulu v prípade chyby, -- konvertuje TRUE na JEDNA, SUM zosúčtuje NULY a JEDNIČKY v takto vytvorenom poli NÚL a JEDNIČIEK.
Iný spôsob riešenia - v tomto prípade sa jedná o nematicovú formu:
case non-sensitive:=SUMPRODUCT(--(UPPER($B$1:$B$20)<>SUBSTITUTE(UPPER($B$1:$B$20);UPPER($A$1);"")))case sensitive:=SUMPRODUCT(--($B$1:$B$20<>SUBSTITUTE($B$1:$B$20;$A$1;"")))
Počítam bunky v oblasti B1:B20, ktoré obsahujú reťazec z bunky A1; maticový vzorec:
case sensitive:=SUM(IFERROR(--(FIND($A$1;$B$1:$B$20)>0);0))
case non-sensitive:=SUM(IFERROR(--(SEARCH($A$1;$B$1:$B$20)>0);0))
Sub xxx()
Dim MyShape As Shape
Set MyShape = ActiveSheet.Shapes(1)
With MyShape.Line
.Weight = 1.5
End With
End Sub
čiže v tom Tvojom kóde by pred end with malo stačiť doplniť riadok:.Line.Weight = 1.5
Vlastne, v tomto prípade nie je potrebné definovať pomenované oblasti, ani používať volatilnú funkciu INDIRECT (NEPŘÍMÝ.ODKAZ), v prílohe alternatívne jednoduchšie riešenie.
Riešil som cez overenie dát a pomenované oblasti - v prílohe - vyberáš okrové bunky.
@ chey: nevím jak, mohu také tento "prázdný" výsledek přizpůsobit namísto "" na nulu
Tak v tom prípade nie test na dĺžku reťazca, ale na nulu, úprava Stalkerovho vzorca pre bunku C4:
=IFERROR(INDIRECT("I"&SMALL(IF((NOT(ISBLANK($I$4:$I$55)))*($I$4:$I$55<>0);ROW($I$4:$I$55);"");B4));"")
V SQL takto:
SELECT F8
FROM `List1$`
WHERE F8<>'0' AND LEN(F8)>0
@Stalker: Nic lepšího mě nenapadlo
Náhodou, to riešenie celkom ide
@chey: to by nemal byť až taký problém stalkerov vzorec doplniť o napr. test na dĺžku reťazca, trochu sa posnaž
ja dám ako alternatívu pre tento prípad opäť riešenie cez MS Query; syntax príkazu:
SELECT F8
FROM `List1$`
WHERE LEN(F8)>0
jj, B1, píšem nezmysly.
S tou chybovou hláškou je to pmn tak, že sa síce objaví, ale dotaz i tak prebehne,neviem, netuším, mne to chybovú hlášku nevracia
Na riadok 1 si vlož záhlavie, napr. v tvare:
A1: pole1
A2: pole2
Následne si môžeš vytvoriť dotaz v MS Query:
Command text bude:SELECT DISTINCT `List1$`.pole1 FROM `List1$`
INNER JOIN `List1$` AS `List1$_1` ON `List1$`.pole1=`List1$_1`.pole1
WHERE `List1$`.pole2='true' AND `List1$_1`.pole2='false';
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.