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
472
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
Vasemmistohallitus palauttaa hintasääntelyn, esim. bensalitra vain 1e.
Tuleva vasemmistolaisista koostuva hallitus ottaa käyttöön vanhat hyvät keinot pitää hinnat kurissa. Tähän tarkoitukse984812Vasemmistolainen valehteli jälleen - Purra tai persut eivät luvanneet "euron bensaa"
Väite "euron bensasta" on ensisijaisesti poliittisten vastustajien käyttämä puhdas vale. Persut kyllä kampanjoivat näky1143942Arman Alizadin viesti puna-aktivisteille: "Pitäkää lärvinne nytkin kiinni"
Arman Alizad kritisoi vasemmiston kaksinaismoralismia. Iranissa syntynyt suosikkijuontaja Arman Alizad pakeni perheensä2113850Minja Koskela nostanut vasemmistoliiton kannatuksen ennätykseen
Koskela valittiin puolueen johtoon lokakuussa 2024, ja silloin Ylen kysely antoi puolueelle 9,3 prosentin kannatuksen.1192257Antti johtaa Petteriä jo 7,1 prosenttiyksiköllä
Tällä menolla sdp menee kokoomuksesta kierroksella ohi jo tällä vaalikaudella. https://yle.fi/a/74-20213575771974Mitä on tullut
Entisen abcn rakennuksen tilalle se oli tyhjillään monta vuotta siellä oli jo nyt valot onko huoltoasema? 5:30.801366- 1371324
Palosta selvinnyt 18 vuotias munira tarvitsi tulkin kun puhui Iltalehdelle
Suomessa asuva 18 vuotias tarvii tulkin !!! Tää Suomea puhumaton on palossa kuolleen naisen veli ja asui perheen kanssa.1681296En ymmärrä ateisteja!
Raamattu on aitoa historiaa, jotka ovat kirjoittaneet aikalaiset! Mitä änkyröitte turhaa???5371156- 531125