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

473

    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. Virkamiehille tarvitaan tuntuvat palkankorotukset

      Naistenpäivänä on syytä muistuttaa, että virkamiehen euro on vain 80 senttiä. Palkat tulee saattaa samalle tasolle yksi
      Maailman menoa
      56
      4536
    2. Riikka Purran kaudella nousi bensan hinta yli 2 euron

      Muistatteko kuinka edellisen vasemmistohallituksen aikana, ns. Marinin aikakaudella, bensiiniä sai 1,3 euron litrahinnal
      Maailman menoa
      87
      4237
    3. Jäikö meidän välit

      Mielestäsi Kesken?
      Ikävä
      70
      3698
    4. Olisipa saanut sinuun

      Tutustua paremmin. Harmi että aloin lopulta jännittämään kun näytit tunteesi niin voimakkaasti ja lähestyit niin voimaak
      Ikävä
      96
      3627
    5. Mitäs nyt sijoittajat?

      Pörssit laskevat maailmalla Iranin sodan takia ja muutenkin ovat olleet Trumpin vallan alla epävarmat. Ainoa, mikä on no
      Maailman menoa
      115
      2655
    6. Miks tän meidän

      Rakkauden on pitänyt olla näin vaikeaa?
      Ikävä
      35
      2468
    7. Elän vastoin

      Kaikkia arvoja kun en pysy sinusta erossa.
      Ikävä
      37
      2362
    8. muista olla

      VAROVAINEN! m
      Ikävä
      24
      2349
    9. Onneksi on edes yksi kuva

      Susta mitä voin välillä ihastella ja kaipailla sua😔
      Ikävä
      38
      2339
    10. Olisitpa se hellä

      Ja herkkä minkä kuvan sain sinusta irl. Haluaisin että elämässäni olisi sellainen joka arvostaa minua juuri sellaisena k
      Ikävä
      23
      2214
    Aihe