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

442

    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. Se oli siinä sitten

      Yhdysvaltain presidentti Donald Trump on määrännyt kaiken maan Ukrainalle toimittaman sotilaallisen tuen tauolle, kertoo
      NATO
      727
      2266
    2. Paljonko aikaa on kulunut siitä kun viimeksi tapasit hänet?

      Päiviä? Viikkoja? Kuukausia? Vuosia?
      Ikävä
      50
      2259
    3. Tiedätkö, että haluaisin panna

      Sinua. Onko sinulla samanlaiset ajatukset ja tunteet?
      Ikävä
      125
      2173
    4. Mikä sinua ja kaivattuasi

      Yhdistää?
      Ikävä
      127
      2113
    5. Ajelen varmaan siellä suunnalla

      taas yöllä, vahingossa käyn sun pihalla. 😏 m
      Ikävä
      54
      1756
    6. Trump tekee rauhan Amerikan ja Venäjän ehdoilla

      Ukraina luovuttaa Venäjän haluamat alueet Venäjälle. Ukraina luovuttaa Amerikan haluamat arvokkaat mineraalit Amerikall
      Maailman menoa
      241
      1633
    7. Hyväksytty kaivattusi

      Vartaloa vai et? Rehellinen vastaus
      Ikävä
      31
      1361
    8. Syvälliset keskustelut

      Olisivat tärkeintä ensisijaisesti hänen kanssaan Tulisi sellainen hetki, mutta kaikki meni pieleen
      Ikävä
      20
      1309
    9. Olisipa sitä henkisesti eheämpi ja rohkeampi

      mikään maallinen mammona ei itseäni kiinnosta, eikä sen menetys kiinnostus. Mutta kun kohtaa jonkun sykäyttävän ihmisen,
      Ikävä
      16
      1195
    10. Kyllähän tämä vähän kirpaisee

      Mutta oman sisäisen rauhan vuoksi jätän sinut nyt historiaan. Todennäköisesti olet jo sinäkin mennyt eteenpäin. Olipah
      Ikävä
      38
      1137
    Aihe