
以下のようなテーブルがあります。
A列___B列___C列___D列___E列
販売先___製品コード___単価___開始日___終了日
AAA___F1234___$1,000___11/01/2008___11/15/2008
BBB___F1234___$1,500___11/01/2008___11/15/2008
AAA___F1234___$900___11/16/2008___11/29/2008
BBB___F1234___$1,100___11/16/2008___11/29/2008
.
.
.
(セルの区切り目を表す為、"___"を便宜上ここでは使っています。)
実際のテーブルは販売先、製品コードも複数存在します。同じ販売先&製品コードで日付の範囲がオーバーラップすることはありません。
このようなテーブルにおいて、
「11/18/08の販売先AAAのF1234」の単価を引っ張ってきたいとき、Vlookup関数を使って(vlookupと何かほかの関数を組み合わせることになるかと思いますが。。)単価を検索することはできますでしょうか。
日付は開始日と終了日は別々のセルに入っています。
よろしくご教示お願いいたします。
No.3ベストアンサー
- 回答日時:
11/18/08は開始日と終了日の間なんですね
なので先ほどの回答は無視してください
___A___B___C___D___E
1___販売先___製品コード___単価___開始日___終了日
2___AAA___F1234___$1,000 ___11/01/2008___11/15/2008
3___BBB___F1234___$1,500 ___11/01/2008___11/15/2008
4___AAA___F1234___$900 ___11/16/2008___11/29/2008
5___BBB___F1234___$1,100 ___11/16/2008___11/29/2008
6
7___販売先___製品コード___開始日___終了日
8___AAA___F1234___<=11/18/2008___>=11/18/2008
9
10___対象の日付___11/18/2008
11___単価___900
C8セルに="<="&B10
D8セルに=">="&B10
B10セルに
=DGET($A$1:$E$5,A10,$A$7:$C$8)
No.5
- 回答日時:
少しだけ変形すれば何とかいけそうです
ただし配列数式を使用しますので、配列数式がわからなければ、エクセルのヘルプや、ネットで調べてみてください。
まず、表を下記のように変形します。
(A1セルを左上として)
販売先製品コード開始日単価
AAAF12342008/11/1$1,000
BBBF12342008/11/1$1,500
AAAF12402008/11/1$2,000
BBBF12402008/11/8$3,000
AAAF12342008/11/16$900
BBBF12342008/11/16$1,100
BBBF12402008/11/16$3,300
AAAF12402008/11/20$2,200
ポイントは、開始日を単価の左に持ってきて昇順に並べ替えてください。
終了日はありませんが、考え方としては、次の単価の始まる前日までとしています。
検索データを引っ張ってくるセルですが
仮に下記のセルを使用します。
(F1セルを左上として)
販売先製品コード日付単価
BBBF124011月17日
F2セルには検索する販売先名
G2セルには検索する製品コード
H2セルには検索する日付
を入力し
I2セルに検索した単価を表示させる式を入れます。
I2セルに下記の式を入力し
=VLOOKUP(H2,IF(IF(A2:A9=F2,B2:B9,"")=G2,C2:D9,""),2)
[Ctrl]+[Shift]+[Enter]キー押下で配列数式として確定します。
No.4
- 回答日時:
こういうのは関数でやろうというのは得策でない。
関数やVLOOKUP関数も本来計算用のものだと思う。True型など数値を決めるために設けられていると思われる。FALSE型も最初の1つしか見つけないし。
VLOOKUPは1つ(1列に有るということ)の検索データしか検索できないので、無理して3列のデータを1つの作業列にまとめないといけない。まとめるのも本当は、単に&でくっつけるのではなく、定桁で結合するべきである。
ーー
やる手はVBAか下記しかない。
データーフィルター
フィルタオプションの設定、をマクロの記録を取り、ボタンのクリックをキッカケに実行するのがよい。
そこまで(マクロまで)行かず、フィルタオプションの設定をつかうのもよい。
見出しと条件を入れるセル(*下記で参照)が必要だが、目立たないところに設定する手も有る。
そして自分には都合の良いセルに条件の値を入れて、=A1などを*のセルに入れて、こちらのセルに飛ばしてくる手も有る。
No.2
- 回答日時:
G H I J
1 販売日 販売先 製品コード 単価
2 11/18/08 AAA F1234 $900
3 11/03/08 BBB F1234 $1,500
4
J2: =SUMPRODUCT((D$2:D$100<=G2)*(E$2:E$100>=G2)*(A$2:A$100=H2)*(B$2:B$100=I2),C$2:C$100)
No.1
- 回答日時:
=D2&A2&B2 という列をF列に作り、下へオートフィル
F列をA列の前に切り貼りすればVLOOKUPが使えます
VLOOKUPでなくていいなら、A列の前に移動せずにINDEX、MATCH関数を使ってください。
この回答への補足
早速の回答ありがごうございました。
開始日、販売先、製品コードを組み合わせ、ユニークなコードをつくるということがポイントですよね?
早速試してみましたが、vlookup側で仮に誤った、もしくはテーブルに存在しない製品コードや販売先でも単価を引っ張ってきます。Range_Lookupはtureにしています。存在しないものや誤ったもので検索しようとしたときはエラーを表示したいのですが。。。どうしたらいいか教えてください。よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Xlookupの結果がうまくいきません。(excel2013) 2 2023/06/18 17:32
- その他(Microsoft Office) Excelで該当しない項目(#N/Aの商品名)を簡単に表示・抽出させる方法についてです 1 2022/08/25 22:12
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- Visual Basic(VBA) VBAで質問があります 1 2022/10/19 10:32
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- その他(Microsoft Office) パワークエリの複数ファイルのデータ統合について 3 2022/07/14 17:06
- Excel(エクセル) Excel2007での条件付き書式について 6 2023/05/02 10:56
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- Excel(エクセル) 年齢ごとの商品の販売個数を集計しようとしています。 a列が日付、b列が年齢、c列が販売個数のばあいで 4 2022/09/26 22:35
- Excel(エクセル) エクセル関数のXlookupのフィルハンドル機能(類した機能でも可)を知りたいです。 3 2022/09/20 20:02
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SUMIF関数で、「ブランク以外を...
-
文字列から英数字のみを抽出す...
-
自分の左隣のセル
-
excelで、空白を除いてデータを...
-
セルを結合した時のエクセル集...
-
エクセルで、指定の値よりも大...
-
エクセルで特定のセル内にだけ...
-
同一セル内の重複文字を削除し...
-
EXCELのcountif関数での大文字...
-
エクセル1行おきのセルを隣の...
-
エラー「#REF」の箇所を置き換...
-
エクセルに入力後、別シートの...
-
Excelで日付が入っていたら金額...
-
エクセルで、A2のセルにA3...
-
エクセルでエンターを押すと任...
-
EXCELでマイナス値の入ったセル...
-
エクセルで上から2つめの数値...
-
AVERAGE関数とINDIRECT関数を使...
-
substitute関数についての質問です
-
VBA セルをダブルクリック→違...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
自分の左隣のセル
-
SUMIF関数で、「ブランク以外を...
-
文字列から英数字のみを抽出す...
-
excelで、空白を除いてデータを...
-
セルを結合した時のエクセル集...
-
EXCELのcountif関数での大文字...
-
エクセルで特定のセル内にだけ...
-
エクセルで、指定の値よりも大...
-
エクセル1行おきのセルを隣の...
-
同一セル内の重複文字を削除し...
-
EXCELでマイナス値の入ったセル...
-
エクセルで、A2のセルにA3...
-
エクセルで年月日から月日のみへ
-
条件付き書式の色付きセルのカ...
-
週の労働時間を計算するエクセル
-
エクセルに入力後、別シートの...
-
【Excel】4つとばしで合計する方法
-
Excelで大量のセルに一気に関数...
-
エクセル関数またはVBAについて
-
エラー「#REF」の箇所を置き換...
おすすめ情報