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. Paljonko aikaa on kulunut siitä kun viimeksi tapasit hänet?

      Päiviä? Viikkoja? Kuukausia? Vuosia?
      Ikävä
      48
      2110
    2. Se oli siinä sitten

      Yhdysvaltain presidentti Donald Trump on määrännyt kaiken maan Ukrainalle toimittaman sotilaallisen tuen tauolle, kertoo
      NATO
      690
      2090
    3. Mikä sinua ja kaivattuasi

      Yhdistää?
      Ikävä
      120
      1983
    4. Tiedätkö, että haluaisin panna

      Sinua. Onko sinulla samanlaiset ajatukset ja tunteet?
      Ikävä
      77
      1689
    5. Ajelen varmaan siellä suunnalla

      taas yöllä, vahingossa käyn sun pihalla. 😏 m
      Ikävä
      48
      1678
    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
      239
      1555
    7. Hyväksytty kaivattusi

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

      Olisivat tärkeintä ensisijaisesti hänen kanssaan Tulisi sellainen hetki, mutta kaikki meni pieleen
      Ikävä
      20
      1269
    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ä
      17
      1155
    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
      1097
    Aihe