• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VLOOKUPの返り値を固定するには…)

VLOOKUPの返り値を固定するには…

このQ&Aのポイント
  • VLOOKUPを使用して日付に基づいて売上を返すための表を作成している際、毎日のデータの変更に対応する方法を知りたいです。
  • VLOOKUPを使用して日付に基づいて売上を返すための表を作成している際、日々のデータの消える問題を解決したいです。
  • VLOOKUPを使用して日付に基づいて売上を返すための表を作成している際、返り値を固定もしくは値で返す方法があれば知りたいです。

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

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.5

>返り値を固定もしくは、値で返るような方法があれば…と思い、質問させていただきます。 VBAの力を借りないと無理ですね。 シート上のセルに入力して、ボタンを押すと別のシートにデータが蓄積されていく といったことは業務上で頻繁に使うと思いますので、VBAの力を借りた一案です。 入力シート という名前の A2~C2セルに 日付、名前、金額を 入力したとします。 その隣に、ボタンを配置して VBエディターを起動 Sub ボタン1_Click() GYOU = Sheets("データ").Range("A" & Cells.Rows.Count).End(xlUp).Row + 1 Sheets("データ").Range("A" & GYOU & ":C" & GYOU).Value = Range("A2:C2").Value End Sub を貼り付けてみてください。 エクセルのバージョンが記載してないので エクセル2010で説明すれば 開発=>挿入=>ボタンの配置=>新規作成でVBエディターを起動 といったながれっです。 縦方向に、日付と氏名が入ったデータが出来れな 希望の横方向に日付が入っているシートにそれぞれの金額を表示させるVlookup関数が簡単に作れます。

mitoco
質問者

お礼

今までVBAは難しいという先入観があって、なかなか試せずにいました。 これを機に、少し勉強してみたいと思います。 休み明けに試してみたいと思います。 ありがとうございました。

その他の回答 (4)

回答No.4

イマイチ理解できていない部分がありますが、たたき台として C2セル =INDEX(B7:E9,MATCH(B2,A7:A9,0),MATCH(A2,B6:E6,0)) D2セル =IF(DAY(A2)=1,"先月",INDEX(B7:E9,MATCH(B2,A7:A9,0),MATCH(A2,B6:E6,0)-1)) 添付図参照

mitoco
質問者

お礼

休み明けに、一度試してみたいと思います。 ありがとうございました。

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.3

別シートでも可ということなので 別シートに(11/1~11/30)の表を作成して B1から日付が横方向に A2から縦方向に氏名が 入力されているとします。 今入力しているシート(Sheet1として)にA1から下に 2011/11/1  a  100 2011/11/1  b  200 2011/11/1  c  300 2011/11/1  d  400 2011/11/1  e  500 2011/11/1  f  600 といった感じでデータを入力するようにして 別シートのB2に =SUMPRODUCT((Sheet1!$A$1:$A$100=B$1)*(Sheet1!$B$1:$B$100=$A2)*(Sheet1!$C$1:$C$100)) と入力 後はフィルしてみてください。

mitoco
質問者

お礼

関数でもできるかもしれないんですね。 休み明けに、会社で試してみたいと思います。 ありがとうございました。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

>返り値を固定もしくは、値で返るような方法  ⇒関数では出来ませんのでマクロ(VBA)組み込みになります。   因みに現在のデータ入力を日付順で縦方向に入力では駄目なのでしょうか。   データは縦方向に構成される方がデータの管理(エクセル機能のオートフィルタ、並び   替え等)し易い。   どうしても横方向したいのならば、月末に縦横を入れ替えるでコピーすれば済むのでは   ないでしょうか。  

mitoco
質問者

お礼

VBAは、まだまだ勉強不足なので、これを機に少し勉強してみます。 ありがとうございました。

noname#143647
noname#143647
回答No.1

私も使ってますが、VLOOKUPにそこまでの拡張性があるかは疑問です。。 が、エクセルのマクロ(VBA)を使えばいけるでしょうから、回答がなければ、質問カテゴリーをプログラムのビジュアルベーシックにすれば回答があるかも知れません。

mitoco
質問者

お礼

やっぱり、関数だけでは無理がありますよね…。 ありがとうございました。

関連するQ&A

専門家に質問してみよう