[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『テーブルの見出しが文字列としてしか認識されない』(tsf)
お世話になっております。
テーブルの見出しに日付を使っていまして、
その見出しを検索値としてvlookup関数で検索しても、答えが返ってきません。[下図]
いろいろ試したところ、テーブルの見出しだと、文字列としてしか認識してくれないようです。
どなたか回避策をご存知ではないでしょうか。
なるべく文字列としてではなく日付として処理したいと考えています。
図
↓テーブル1(見出しをvlookup関数の検索値として引用)
A B 1 [2019/7/1][2019/8/1] 2 入力1 入力2 3 入力3 入力4
↓vlookup関数の参照範囲
K L 21 2019/7/1 1000円 22 2019/8/1 2000円
↓とあるセルに入力した数式
=vlookup(A1,K21:L22,2,0)
期待する応え
1000円
実際の応え
#N/A
< 使用 Excel:Excel2016、使用 OS:Windows10 >
↓ でできませんか?
=VLOOKUP(A1*1,K21:L22,2,0) ~~~~ 参考まで (笑) 2019/07/04(木) 10:46
2007で試してみたら、見出しを日付として入力できました。 っていうか、日付の左右にある[]も付けているんですか? 表示形式では出来ないみたい?だったから、、 まんま[2019/7/1]の文字列だよね。
=--SUBSTITUTE(SUBSTITUTE(A1,"]",""),"[","")
=vlookup(--SUBSTITUTE(SUBSTITUTE(A1,"]",""),"[",""),K21:L22,2,0) (BJ) 2019/07/04(木) 12:36
見出しを日付で入力しても その表をテーブルに変換したら文字列になってしまう、ってことでしょ?
テーブルに変換する際 「先頭行をテーブルの見出しとして使用する」のチェックを外してもいいのなら 文字列にはならないので、検索値に「1」を掛ける必要はありませんけどね。
以上 (笑) 2019/07/04(木) 13:27
vlookupについては、
1を掛ける対応で作動しました。
けれど、同様の使い方としてHlookup関数として
=hlookup(k21,A1:B1,1)
という逆方向の使い方での近似一致検索も想定しております。
(むしろ近似一致での検索のために文字列表記を避けたいと思っておりました。)
ですが、お話を伺うにテーブルの文字列化は避けられないようなので、
テーブルの利用を辞める方法がよさそうですね。
(tsf) 2019/07/04(木) 14:21
>=hlookup(k21,A1:B1,1) >という逆方向の使い方での近似一致検索も想定しております。
文字列のままで、ということなら ↓ な感じでできませんか?(1行目の範囲はテキトーです)
=LOOKUP(K21,A1:F1*1)
参考まで (笑) 2019/07/04(木) 14:52
HLOOKUP ではなく
ですけど、間違いないですか? こちらでは問題なく機能しています。
以上です (笑) 2019/07/08(月) 23:42
HLOOKUPでやっていました。ごめんなさい。
びっくりしました。
ちなみにこれって、行を自在に変えたいときは、どうにかする方法ありますか??
いつもは
INDEXの中に、行match 列match
ということをやるのですが、行の検索にも対応できるように組めれば完璧です。
(以上です、とあったのでご覧になっていないかもしれませんが…投稿します)
(tsf) 2019/07/10(水) 15:27
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.