1396019191 Excelに関する質問です。

子どもが利用する施設があり、「施設間距離」と「学年別空き人数」を
管理する2つの表があります。黄色のセル(ドロップダウンリスト)で起点施設と
学年を選択すると水色のセルに1人以上の空きのある施設を起点施設からの距離が
近い順に自動表示させたいのですがやり方を教えて下さい。よろしくお願いします。
(実際のところ、施設数は100以上あり、施設間距離と学年別空き人数は別シート
ですがわかりやすく1つの画像にするため簡略化しています)

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2014/03/29 00:06:31
  • 終了:2014/04/02 18:45:39

ベストアンサー

id:jan8 No.1

jan8回答回数455ベストアンサー獲得回数962014/03/29 02:40:01

ポイント150pt

黄色のセル(ドロップダウンリスト)で起点施設と学年を選択すると

上記の要求には応えられませんが、やりたい事はExcelの機能だけで出来ます。
f:id:jan8:20140329022033:image
上のように「学年別空き人数」表と「施設間距離」表を横に並べて、
「施設間距離」表の「起点施設」を最優先キーとし、降順で並べ替えを行います。
f:id:jan8:20140329023542:image
並べ替えると「学年別空き人数」表が、起点施設からの距離が近い順に並んでいます。
後は、オートフィルタ機能を使って、1人以上の空きのある施設をフィルタリングすれば完了です。

以上、Excelの関数もマクロも一切使わない方法です。
マクロでの自動化をお望みなのでしょうか。

id:jan8

挿入した画像が表示されませんが、クリックするとはてなフォトで画像が表示されます

2014/03/29 02:44:07
id:lovefukuyama

回答ありがとうございます。素晴らしいです。私だけが使うならこれでいいんですが、私以外のITに詳しくない者も使うのでできればマクロでの自動化などでより簡単に利用できる方法があれば教えていただきたいです。よろしくお願いします。

2014/03/30 13:02:26

その他の回答(1件)

id:jan8 No.1

jan8回答回数455ベストアンサー獲得回数962014/03/29 02:40:01ここでベストアンサー

ポイント150pt

黄色のセル(ドロップダウンリスト)で起点施設と学年を選択すると

上記の要求には応えられませんが、やりたい事はExcelの機能だけで出来ます。
f:id:jan8:20140329022033:image
上のように「学年別空き人数」表と「施設間距離」表を横に並べて、
「施設間距離」表の「起点施設」を最優先キーとし、降順で並べ替えを行います。
f:id:jan8:20140329023542:image
並べ替えると「学年別空き人数」表が、起点施設からの距離が近い順に並んでいます。
後は、オートフィルタ機能を使って、1人以上の空きのある施設をフィルタリングすれば完了です。

以上、Excelの関数もマクロも一切使わない方法です。
マクロでの自動化をお望みなのでしょうか。

id:jan8

挿入した画像が表示されませんが、クリックするとはてなフォトで画像が表示されます

2014/03/29 02:44:07
id:lovefukuyama

回答ありがとうございます。素晴らしいです。私だけが使うならこれでいいんですが、私以外のITに詳しくない者も使うのでできればマクロでの自動化などでより簡単に利用できる方法があれば教えていただきたいです。よろしくお願いします。

2014/03/30 13:02:26
id:foobar_777 No.2

foobar_777回答回数78ベストアンサー獲得回数182014/03/30 16:47:06

ポイント50pt

1番目の回答が良いと思います。
何故ならば、マクロで不具合が起こったときに他人が書いたマクロだと
手の打ちようが無くなる可能性が高いからです。
自分で作業して結果を出すようにした方が、トラブルに対して強いと考えます。


それはさておき、自分でマクロを書くならこんな感じです。
[]内は使う機能
ここにVBAの全文を貼るのはきついので概要だけ:
=================
1)シートから該当する施設間距離および空き人数データ読み込み
・データ数(施設数)取得 [Range().End().Row]
・(学年数取得) [Range().End().Column]

・指定された学年の空き人数データを施設数分読み込み [HLookup]
・指定された施設からの施設間距離データを施設数分読み込み [HLookup]


2)データをソートする [ActiveWorkbook.Worksheets().Sort]
・空き人数が0の施設を除外するために、該当する距離データは∞にする
-> ソートしたときに範囲外になる
・施設名、施設間距離、(空き人数)のデータの組を距離でソートする
このとき、Excelの機能を使うので一旦シートに出力してソート実行

3)ソート結果を出力する
  面倒なので略
  マクロではなくセル関数で作業用にソート実行した結果の上位いくつか分を参照する

=================

id:lovefukuyama

ご回答ありがとうございます。
確かにマクロにすると利用は簡単になるかもしれませんが、メンテが難しくなる側面はありますね。
1番目の回答のやり方でいこうと思います。

2014/04/02 18:44:41

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません