プロが教える店舗&オフィスのセキュリティ対策術

シート名の一部とセルの値が一致したらLOOKUP関数をかえす関数を作成したいのですが…
例として。。。
シート名:20020301売上表、セルA1:2002/3/1の値があります。
シート名の"01"とA2の日付"1日"が一致したら、セルA2にLookup関数をかえす関数を作成したいのですが。。。
よろしくお願いします

A 回答 (1件)

疑問点を・・・



>シート名の一部とセルの値が一致したら
例にあるように、日付部分のみを比較? また、シートは1シート?Book内の全てのシート?

>LOOKUP関数をかえす関数
どういうこと???

>シート名の"01"とA2の日付"1日"が一致したら、セルA2にLookup関数をかえす
A2の日付"1日"はA1の誤り?


不明な点がありますが、想像して書いてみました。
A1に入力した日付の日部分と、そのシート名の日付部分が一致したらLookup関数を使う例です。
これは、B1:B31と日付を照合してC1:C30から抽出しています。
A2に =fnc照合(A1) のようにします。ご参考に。(Excel2000です)


Public Function fnc照合(rg As Range)
  Dim ShtName As String 'シート名

  Application.Volatile
  ShtName = ActiveSheet.Name

  fnc照合 = ""
  '日付の日(2桁表示)とシート名の日付部分を比べる
  If Right("0" & Day(rg), 2) = Mid(ShtName, 7, 2) Then
    'ユーザー定義関数内でLookupを使った単なる例です
    fnc照合 = Application.Lookup(Day(rg), Range("B1:B31"), Range("C1:C31"))
  End If
End Function
    • good
    • 0
この回答へのお礼

お礼が遅くなってすみません。。忙しくて全然見る暇がなくて。。。
質問してる内容がわかりずらくて本当にごめんなさい。
このエクセルも、急いで作成するように上司に言われたんですが、結局難しいので
上司がVBで作ったんですぅ。始めからそうすれば良かったのに…
でも、nishi6さんの作ってくれたユーザー定義関数でやってみます。
また、何かわからない事あったらよろしくお願いします。

お礼日時:2002/04/03 09:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!