OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

Excelのユーザー定義関数

  • すぐに回答を!
  • 質問No.229516
  • 閲覧数150
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 34% (12/35)

シート名の一部とセルの値が一致したらLOOKUP関数をかえす関数を作成したいのですが…
例として。。。
シート名:20020301売上表、セルA1:2002/3/1の値があります。
シート名の"01"とA2の日付"1日"が一致したら、セルA2にLookup関数をかえす関数を作成したいのですが。。。
よろしくお願いします
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル13

ベストアンサー率 68% (791/1163)

疑問点を・・・

>シート名の一部とセルの値が一致したら
例にあるように、日付部分のみを比較? また、シートは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
お礼コメント
rinrin29

お礼率 34% (12/35)

お礼が遅くなってすみません。。忙しくて全然見る暇がなくて。。。
質問してる内容がわかりずらくて本当にごめんなさい。
このエクセルも、急いで作成するように上司に言われたんですが、結局難しいので
上司がVBで作ったんですぅ。始めからそうすれば良かったのに…
でも、nishi6さんの作ってくれたユーザー定義関数でやってみます。
また、何かわからない事あったらよろしくお願いします。
投稿日時 - 2002-04-03 09:27:09
-PR-
-PR-
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ