こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセルの「関数」について

大学2年生。
時々エクセルを使います。
「vlookup」という「関数」があります。あるマスの値と同じものと同じ、特定の範囲にあれば、そのマスから何列か離れたところにあるマスの値を返してくれますが、
・同じものを探す
・値を返す
という事をしてくれますが、「プログラム」とは違うんでしょうか?
「=vlookup」でそこまでしてくれるって、すごく不思議な気がします。

投稿日時 - 2020-05-26 00:43:12

QNo.9753176

困ってます

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

Excelの関数は、マイルロソフトの技術者(多分ソフトの技術者の中のエリート)が、プログラムを組んで、
・「名前(VLOOKUPなどの関数名)を、=に続けて」、
・シートの「セルに」入力すると、(埋め込む、というようだ)
そのプログラム本体(最終は機械語)に飛んで、実行してくれる仕組みです。
ーー
ExcelのVBAなどでは、ユーザー関数という仕組みがあり、素人でもVLOOKUPと同じものは作れます(下記)。しかし500ぐらいある関数の中には、理系でない素人には、どうプログラムを組めばよいか、勉強が必要なものもあります。
またプログラム作成は、大筋どう処理するかわかっていても、実際作るとなると面倒なのと,処理スピード的に遅いとか、プログラムにミス(特殊な場合には誤るなど)を含んでいる恐れも多い、エラーチェックが不十分なことも多い、などです。だから既製のエクセルの関数を使うのです。
表計算ソフトでは、VLOOKUPは多用されますが、LOTUS123などのエクセル以前のソフトで取り上げたものが、流れ込んでいるように推測します。どんな関数を用意するかは、意外に伝統で決まるように思います。
プログラムをどういう言語や仕組みで作るかは、好事家でないと知る必要はない。
他にこういう対応関係を使うのは、Dictionaryなどもあります。2者(例 日本語単語=>英語単語)の対対関係を設定して、1方から他方を割り出す仕組みです。
質問者はこういう質問の点に疑問・興味を抱いたのは、優れた性向と思いますが、色んな事項において、基礎を極めないと、疑問を引きずるタイプかもしれないのですが、時間をかけて、勉強するとして、WEB解説記事ぐらいで我慢して、前に進んでください。
==
下記は拙い例ですが、
VLOOKUP関数もどきのユーザー関数。
下記コピーし、標準モジュールに貼り付け。
Function VLOOKUPB(a As Range, b As Range, c)
' MsgBox a
For Each cl In b
If cl = a Then
VLOOKUPB = cl.Offset(0, c)
Exit Function
End If
Next
End Function
ーー
例データ
A2:D6に
b2a1
c3b2
e5c3
d4
e5
B2の式は
=vlookupb(A2,$C$2:$C$6,1)
B3,B4に式複写。
結果は上記のB2:B4の通り。
上記はVLOOKUP関数のFALSE型を真似たもので、FALSEに決まっているので、第4引数は無しにしています。

投稿日時 - 2020-05-26 12:33:13

お礼

丁寧にありがとうございました。

投稿日時 - 2020-06-13 05:48:00

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

vlookup自体がプログラムを組んであると思います。

「サブルーティン名=vlookup」であるわけです。

投稿日時 - 2020-05-26 19:31:47

お礼

なるほど。

投稿日時 - 2020-06-13 05:48:44

ANo.3

プログラムとは違いますね。Excelの1つの機能です。関数には何百も種類があるのであまりなじみのない人には不思議なこともあります。
検索関数の1種でVlookUpは縦の表から、HlookUpは横の表から目的のものを探します。
http://edutainment-fun.com/excel/func/search.html
論理関数と組み合わせると違うセルに文字入力されているときは空白にして、それ以外は答えを表示するようにできますよ。

投稿日時 - 2020-05-26 13:18:46

お礼

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

投稿日時 - 2020-06-13 05:49:07

ANo.1

関数はある値に対し、一定の値を対応させたものです。
コンピュータの世界の「関数」は、小さな「プログラム」となっています。

投稿日時 - 2020-05-26 01:18:29

お礼

まそうなんでしょうけど。

投稿日時 - 2020-06-13 05:47:42

あなたにオススメの質問