Jos-lauseen ja hakujen yhdistäminen?

erty

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.)

2

494

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • 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

    1. Vihamielisyys naisia kohtaan on jo yllättävän suuri ongelma

      Esiintyy laajemmassa mittakaavassa, mitä vain tällä palstalla. Mistä tuo ilmiö nyt oikein johtuu, ja saa alkuvoimansa?
      Sinkut
      324
      1856
    2. Olen melko vakuuttunut

      etten tule olemaan koskaan täysin onnellinen ilman sinua. En uskonut, että näin kävisi kenenkään kanssa. Kunnes sain kok
      Ikävä
      83
      1297
    3. Odotan sitä hetkeä

      kun nähdään taas. Tiedän, että sinäkin odotat. Kun se päivä koittaa, katseesi hakee minua. Ehkä arkailemme toisiamme väh
      Ikävä
      75
      1294
    4. Leijonat Maailmanmestareita!

      Ihanaa Leijonat, ihanaa!!!
      Maailman menoa
      134
      1167
    5. Muistatko kaivattusi

      Syntymäpäivän? Päivämäärä riittää. 🌹
      Ikävä
      81
      986
    6. Minkälaisessa asennossa

      Haluaisit kaivattusi kanssa olla?
      Ikävä
      90
      904
    7. Sinä siellä lähistöllä

      Tahtoisin tutustua paremmin 💫
      Ikävä
      48
      853
    8. Postimerkki kirjeeseen ja kortiin maksaa jo 3 euroa!

      https://yle.fi/a/74-20229241 Kyllä tämä on järjetön hinta, Posti tuhoaa itsensä tällä hinnalla, täytyyhän Postin "Herro
      Maailman menoa
      118
      824
    9. Mulla on ikävä

      sua nainen ja niitä katseita ❤️ Lupaatko, että katseemme kohtaa taas?
      Ikävä
      48
      790
    10. Sitä saattaa vähän hölmöillä

      rakkauspäissään, jos tunteita on enemmän kuin osaa käsitellä. Alkuhölmöilyt on söpöä ja sallittavaa.
      Ikävä
      60
      746
    Aihe