En millään pääse eteenpäin seuraavassa. Toivottavasti joku viisaampi osaisi auttaa...
Minulla on esimerkissäni ensimmäisessä taulussa otsikkosarakkeet ALUE ja KUNNAT. Alueita on 3: x,y,z. Kuhunkin tuotteeseen kuuluu kuntia eri määrä, ja kaikki kunnat ovat omissa sarakkeissaan, ks. alla
ALUE KUNNAT
x a b c
y d e f g h i
z j k l m
Seuraava taulukko on (eri välilehdellä)oleva tieto, ja nyt haluaisin funktiohärpäkkeen, joka tuottaa arvon 1, jos ao. taulussa oleva vastaajan kotikunta sisältyy ensimmäisessä sarakkeessa määriteltyyn alueeseen ja muuten 0.
ALUE KOTIKUNTA (TULOS, johon pyritään)
y e 1
y l 0
x a 1
Olen yrittänyt yhdistää Jos ja Phaku-funktioita, mutta huonolla menestyksellä, kun en tiedä miten Phaun saisi sarakkeen sijaan etsimään matriiseista - tai jotain sinne päin...?
(en näköjään osaa tehdä esimerkeistä kovin fiksuja, mutta toivottavasti selventävät.)
Jos-lauseen ja hakujen yhdistäminen?
2
444
Vastaukset
moduuliin...
ja muuttele taulukoiden nimet sopiviksi
Option Explicit
Sub Siirrä()
Dim Alue As Range
Dim Kotikunta As Range
Dim Solu As Range
Dim haku As Variant
Dim vika As Integer
On Error Resume Next
Application.ScreenUpdating = False
Worksheets("Sheet2").Activate
vika = Range("A65536").End(xlUp).Row
For Each Solu In Range("A2:A" & vika)
Set Alue = EtsiJaSiirrä(Solu, Range("Sheet1!A:A")).EntireRow
Set Kotikunta = EtsiJaSiirrä(Solu.Offset(0, 1), Alue)
If Not Kotikunta Is Nothing Then
Solu.Offset(0, 2) = 1
Else
Solu.Offset(0, 2) = 0
End If
Next
Application.ScreenUpdating = True
End Sub
Function EtsiJaSiirrä(Hakuehto As Variant, HakuAlue As Range) As Range
Dim Solu As Range
Dim EkaOsoite As String
With HakuAlue
Set Solu = .Find( _
What:=Hakuehto, _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False, _
SearchFormat:=False)
If Not Solu Is Nothing Then
Set EtsiJaSiirrä = Solu
EkaOsoite = Solu.Address
Do
Set EtsiJaSiirrä = Union(EtsiJaSiirrä, Solu)
Set Solu = .FindNext(Solu)
Loop While Not Solu Is Nothing And Solu.Address EkaOsoite
End If
End With
Worksheets("Sheet2").Activate
End Function- tämä ?
=SUMPRODUCT((A1=Sheet1!$A$2:$A$4)*(Sheet2!B1=Sheet1!$B$2:$G$4))
TULOJEN.SUMMA
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Mitä tapahtunut
Poliiseja monta autoa+panssariauto Porista kpäähän päin tänään klo n.20 kuka hurjistunut ?465731Lakea konkurssiin. Asukkaat menettävät asuntonsa
Kuntarahoitus on tänään jättänyt konkurssihakemuksen lakean kaikista kiinteistö osakeyhtiöistä. Kassa on tyhjä, kaikki553025- 1832645
Nikkalassa vauhdilla nokka kohti taivasta
Mitähän Darwin sanoisi näistä 4 suomalaisesta, jotka kävivät Haparandan puolella näyttämässä, kuinka Suomi auto kulkee t102331- 272073
mahdollista, että olet ollut iltavuorossa
Ja kotiin päästyäsi tulit palstalle etsimään merkkiä minusta, jos kaipaat yhtään minua niin kuin minä sinua Ei mennyt k132059törniöläiset kaaharit haaparannassa
isäpapan autolla kaahatta 270 km/h metsään https://www.lapinkansa.fi/nsd-kaksi-suomalaista-kuoli-kolarissa-haaparannall/151746- 1461327
- 141249
Sitä saa mitä tilaa Perussuomalaiset!
https://yle.fi/a/74-20160212 SDP:n kannatus se vain nousee ja Keskusta on kolmantena. Kokoomus saanut pienen osan persu2611153