人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセルの関数について質問です。

現在VLOOKUPの関数などを使用しているのですが、VLOOKUPの関数を少し変更した関数を作成したいと考えています。

作成したい関数なのですが、VLOOKUPZと自分で名前をつけてみました。

詳細ですが以下になります。

http://oskuni7.sakura.ne.jp/hatena//question15/question15.htm

ポイントは

セル内のデータを検索範囲から照合して、照合したデータがあった場合検索範囲のデータの値と設定をそのまま出力するということです。(最悪書式は反映されなくても大丈夫です)


上記のような関数を時間があるかたで作成していただけるかたおりましたら作成していただけないでしょうか?

お手数をおかけしますがどうぞよろしくお願いいたします。

●質問者: aiomock
●カテゴリ:コンピュータ インターネット
✍キーワード:エクセル セル データ ポイント 作成
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● SALINGER
●100ポイント ベストアンサー

それっぽい物はできました。

ただし、第4引数がTRUEのときの処理がいまいちよくわからなかったので省略しました。

Function VLOOKUPZ(r1 As Range, r2 As Range, i As Integer) As String
 Dim rs As Range
 Dim j As Integer
 Dim r As Range
 Dim s As String
 If r2.Columns.Count >= i Then
 Set rs = Range(Cells(r2.Row, r2.Column + i - 1), Cells(r2.Row + r2.Rows.Count - 1, r2.Column + i - 1))
 For Each r In rs
 If InStr(1, r1.Value, r.Value) > 0 Then
 s = r.Value
 Exit For
 End If
 Next
 End If
 VLOOKUPZ = s
End Function
◎質問者からの返答

ご回答ありがとうございます。

プログラムを実行してみたのですが

#NAME?

というエラーが発生してしまいます。

計算式ですが

=vlookupz(A3,$E$3:$F$10,1,false)

で入力してみました。


2 ● SALINGER
●35ポイント

文字数が多い方を優先されるようにしてみました。

例えば「ああえ 魚サカナ 肉ニク 野菜ヤサイ ささ」の場合

文字群に「ああ」と「ああえ」があれば、「ああえ」になります。

ただし、「ああえ 魚サカナ 肉ニああおク 野菜ヤサイ ささ」の場合

文字群に「ああえ」と「ああお」がある場合はどちらか(下の方)になります。

ループが増えてますので処理が少し重くなっているかもしれません。

Function VLOOKUPZ(r1 As Range, r2 As Range, i As Integer) As String
 Dim rs As Range
 Dim j As Integer
 Dim r As Range
 Dim s As String
 Dim k As Integer
 Dim myCount As Integer
 
 k = 0
 myCount = 0
 If r2.Columns.Count >= i Then
 Set rs = Range(Cells(r2.Row, r2.Column + i - 1), Cells(r2.Row + r2.Rows.Count - 1, r2.Column + i - 1))
 While myCount < r2.Rows.Count
 For Each r In rs
 If Len(r.Value) = k Then
 If InStr(1, r1.Value, r.Value) > 0 Then
 s = r.Value
 End If
 myCount = myCount + 1
 End If
 Next
 k = k + 1
 Wend
 End If
 VLOOKUPZ = s
End Function
◎質問者からの返答

ご回答ありがとうございます。

プログラム実行されました。

とてもいいものができましたありがとうございます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ