- ベストアンサー
Excelの関数で変数みたいなものって使えますか?
- エクセルでの変数の使用方法について教えてください。
- エクセルのシート名や入力データに変数を使用する方法を教えてください。
- エクセルでのデータ管理や自動反映に関する関数の使用方法について教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
No2の方と同じ意見ですが、シート構成を根本から見直す時期になった と考えてください。 パソコンの操作やエクセルの機能で考えてみてください。 マウスの中央のホイールを操作するとデータは上下に移動します(左右には移動しません) オートフィルターやピボットテーブルも縦方向のデータにしか使えません。 1、データは一枚のシートに日付の項目と一緒に入れていきます。 2、データはひたすら縦方向へ入れていくようにします。 3、データは年がかわってもファイルを増やすことなく、ひたすら一つにまとめます。 これらがルールだと思って下さい。 そうすると集計・グラフ作成・分析が簡単にできるのです。 >今エクセルの内容は入力フォームシート、 >1月、2月、3月、4月…のシート 入力フォームのシートにひたすら縦方向にデータを入れていきます。 日付 ID だけでも大丈夫かと >(入力シートで先に入力した値があり、E列に既に値が入っていたら、 >次のF列に書きこみ、更にあればG…という風に反映させたいです) この横方向に広がるデータの増え方はやめます。 >やりたいことは入力フォームシートで >他シートからのデータの参照をしながら、追記させたいということです。 マクロの機能を使わないと実現できない項目です。 察するにですが ひとつのIDである商品の発注があり、それが複数回に分けられて納品されるケース として考えました。 商品名の一覧がはいったシートを準備 A B C 番号 商品名 カナ ・・・・ 新規発注入力フォームのシートにマクロボタンをひとつ配置 各セルに IDと番号、発注数量を入れます。 (必要であれば 作業者名とか 新規 とか項目を増やしてもよいでしょう) 別のセルに 商品名とカナが表示されるように Vlookup関数を配置します。 ボタンを押すと データのシート A 日付 ID 番号 数量 の一番下にデータが追加される様にします。 更に 納入入力フォームを準備し、同様に ボタン配置 あるセルに IDと納入数量(仮に 納入の場合は 数量を -で入力) をいれます 別のセルに 番号と商品名とカナが表示されるように Vlookup関数を配置します 発注入力のボタンを同じで、ボタンを押すと データのシート A 日付 ID 番号 数量 の一番下にデータが追加される様にします。 これで、いつ、何が、いくつ、どうしたか が判別できます。 あとは ピボットテーブルやフィルターオプションの機能をつかって ID別に集計したり 日付の範囲を設定して集計したり、月別に集計して表示するシートを考えてみます。 実はこの様にデータがひとつのシートに縦方向に並んでいると 簡単に希望のデータや抽出や集計・グラフ化などが可能になります。 また、年をまたいでも使えますので 年単位の集計も可能になるということです。
その他の回答 (2)
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
入力用のシートも作らず、かつ、月別に分けずに 直接入力してしまうのが最も時間がかからなそう。 VBAを使わないならMS-ACCESSを使うといったところかなぁ マクロは当方の技量では、作成にとても時間がかかりそう。 とても、回答できるレベルでもないし。。。 普通の関数では、実現不可。 変わった関数でHYPERLINKがあるが、直接入力にする仕様に変わりないので、 結局、関数では実現不可。IDを入れたら、その入力されている行までジャンプさせることができる。 また、ジャンプ→編集後、[Alt]+[←]で戻ることも可能。 シートを分けずに入力すれば、オートフィルタでの抽出やピボットテーブルでの集計。 検索/行列関数での月別分けなど、比較的単純な関数や機能で対応できる。 シートを一つにまとめるときは、シート名の列(1月、2月・・・)を加えること。 あとは、どこまで仕様の変更を許せるかってとこですね
- imogasi
- ベストアンサー率27% (4737/17069)
この質問は、文章ばかりで、聞いていることを読者は理解しにくいと思う。 いっそのこと思い切って、3シートにして、シートとそのセルデータのデータ例をあげて 、人手でやることにして、人間の思考過程(特にセルの選択判断など)を図(データ)と文章と で表現すべきだ。 関数は式を入れたセルで、他セルデータをうけて演算などして、式を入れるセルに結果をセットする が、受身的で、そのため式が難しくなる場合がある。 セットするデータが浮動的な場合など、トリッキーな式を考える必要がある場合がある。 多分>excelの関数で変数みたいなものって、データの在る最終行の次の行にデータを 人間のセル選択判断や入力無しに入れたいのかな? == 一般論として、エクセル関数では、変数を使えない。だから苦労する。 VBAを勉強すれば、その点は自由になるので、次の処理にデータを渡したり セル番地を指定して、データをセットできる(セルに投げ込むイメージ)。 ーー ただし配列数式というのがあって、ここでやっているのは、変数的な一時記憶領域の使用を 推測させる仕組みである。 ーー >excelの関数で変数みたいなものって使えますか? なんて一般的な発想をして、質問するのは、速すぎると思う。標題が一般化しすぎて適当でない。 エクセルを相当使って、考えた末に考えるべき課題だし、VBAをやれば、その違いが判るように なると思う。 それより、今回実現したい問題に絞って、データの図示の力を借りて、読者への説明に 力を注ぐこと。
お礼
お返事が遅くなりました。 まとめてのお礼になりますが、No.1~3までの皆さま回答ありがとうございました。 とても参考になりました。こちらで得た回答をもとにがんばってみます。