• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAが使えない場合の体力測定のExcelでの集計)

VBAを使用せずに体力測定のExcelで集計する方法

このQ&Aのポイント
  • Excel2013でVBAが使えない場合、体力測定の集計シートを作成する方法をご紹介します。高齢者の体力測定結果をまとめるために、名前、年齢、性別、各種テスト種目の結果の数値を入力してください。例えば、○歳の男性の場合、開眼片足立ちが△秒できるとA判定などの結果が出力されるようになります。LOOKUP関数はテストの集計や成績表作成に便利ですが、反映方法についても説明します。
  • VBAが利用できない環境でも、Excelを使用して体力測定の集計シートを作成することができます。名前、年齢、性別、各テストの結果を入力すると、テスト結果の判定が自動で行われます。例えば、○歳の男性の場合、開眼片足立ちが△秒できるとA判定となります。LOOKUP関数はテストの集計や成績表作成に利用される便利な関数であり、この記事ではその使い方も解説します。
  • Excel2013ではVBAが使用できないため、体力測定の集計シートを作成する際には別の方法を使用する必要があります。名前、年齢、性別、各テスト種目の結果を入力すると、テストの判定が表示されます。LOOKUP関数はテストの集計や成績表作成に使用される関数であり、この記事ではその使い方も詳しく解説します。VBAが使えない場合でも、Excelを利用して簡単に体力測定の集計シートを作成することができます。

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

  • ベストアンサー
  • chayamati
  • ベストアンサー率41% (260/624)
回答No.7

回答No.5、No.6です。 テーブルを定義すると自動でテーブルNo.と命名されますがこれを変更することが出来ます。 1.テーブルをクリック→テーブルツールタッグ→左端のテーブル名欄で変更 これで定義したのが 添付の(A1:A15)体力評価表 (N1:S11)椅子座立評価基準男 (N13:S23)椅子座立評価基準女 この3つの組み合わせで、次のように定義します 1.評価表の赤字のセルは関数、他は入力項目数です。 1-1.セルA1:測定日を入力します。 1-2.氏名、性別、生年月日 事前に入力しておきます。 1-3.年齢:測定日現在の年齢   =DATEDIF([@生年月日],$A$1,"Y") 1-4.年齢帯:評価基準では、60歳まで10歳刻み、   これ以後80歳まで5歳刻み80を超える80歳  CEILING.MATH()関数を使います  =IF([@年齢]>=75,80,IF([@年齢]<65,CEILING.MATH([@年齢],10,0),CEILING.MATH([@年齢],5,0))) 2.H列~L列評価表の年齢帯と評価基準表の年齢帯キーにして、同じ行にします。  性別により参照するテーブルが異なります。 H3=IF([@性別]="男",VLOOKUP([@年齢帯],椅子座立評価基準男,2),VLOOKUP([@年齢帯],椅子座立評価基準女,2)) I3=IF([@性別]="男",VLOOKUP([@年齢帯],椅子座立評価基準男,3),VLOOKUP([@年齢帯],椅子座立評価基準女,3)) J3=IF([@性別]="男",VLOOKUP([@年齢帯],椅子座立評価基準男,4),VLOOKUP([@年齢帯],椅子座立評価基準女,4)) K3=IF([@性別]="男",VLOOKUP([@年齢帯],椅子座立評価基準男,5),VLOOKUP([@年齢帯],椅子座立評価基準女,5)) L3=IF([@性別]="男",VLOOKUP([@年齢帯],椅子座立評価基準男,6),VLOOKUP([@年齢帯],椅子座立評価基準女,6)) 3.G列評価  if関数の入れ子でベタですが  =IF([@測定値]>=[@(5)],テーブル1[[#見出し],[(5)]],IF([@測定値]>=[@(4)],テーブル1[[#見出し],[(4)]],IF([@測定値]>=[@(3)],テーブル1[[#見出し],[(3)]],IF([@測定値]>=[@(2)],テーブル1[[#見出し],[(2)]],テーブル1[[#見出し],[(1)]]))))

fransis
質問者

お礼

あなたは神様か何かでしょうか… 何から何まで本当にありがとうございます!!! こちらを基準に、他の項目については自力で何とかしてみたいと思います。 本当にありがとうございました!!

その他の回答 (6)

  • chayamati
  • ベストアンサー率41% (260/624)
回答No.6

回答No.5です。その後何か進展ありましたか VBAなしの関数式だけのモデルが出来ました No.5は無かった事にして下さい VBAなしの関数式だけのモデルが出来ました 添付のような、評価表(A列~L列)と評価基準表(N列~S列)です。 何れの表もテーブルとしての書式設定にしています。 1.評価表の赤字のセルは関数、他は入力項目数です。 1-1.セルA1:測定日を入力します。 1-2.氏名、性別、生年月日 事前に入力しておきます。 1-3.年齢:測定日現在の年齢   =DATEDIF([@生年月日],$A$1,"Y") 1-4.年齢帯:評価基準では、60歳まで10歳刻み、   これ以後80歳まで5歳刻み80を超える80歳  CEILING.MATH()関数を使います  =IF([@年齢]>=75,80,IF([@年齢]<65,CEILING.MATH([@年齢],10,0),CEILING.MATH([@年齢],5,0))) 2.H列~L列評価表の年齢帯と評価基準表の年齢帯キーにして、同じ行にします。 H3=VLOOKUP([@年齢帯],テーブル2,2) I3=VLOOKUP([@年齢帯],テーブル2,3) J3=VLOOKUP([@年齢帯],テーブル2,4) K3=VLOOKUP([@年齢帯],テーブル2,5) L3=VLOOKUP([@年齢帯],テーブル2,6) 3.G列評価  if関数の入れ子でベタですが  =IF([@測定値]>=[@(5)],テーブル1[[#見出し],[(5)]],IF([@測定値]>=[@(4)],テーブル1[[#見出し],[(4)]],IF([@測定値]>=[@(3)],テーブル1[[#見出し],[(3)]],IF([@測定値]>=[@(2)],テーブル1[[#見出し],[(2)]],テーブル1[[#見出し],[(1)]])))) 追伸 今回男性の評価基準ですが、男性の評価基準表の下行に女性の評価基準を追記すると男女混在の評価表が可能です。 テーブル 「テーブルとしての書式設定」今回初体験です、まだ素人ですが一つのセルに式を記述するとその列全てに反映されるようで、式に相対アドレス、絶対アドレスを気にする必要がないようです

  • chayamati
  • ベストアンサー率41% (260/624)
回答No.5

今晩は 未完成ですが >VBAなしでどの関数を使用すれば集計シートが作れるかのご指導をいただきたく思います。 ★VBAは必要ありません >作りたいものは高齢者の体力測定結果のまとめです。 ★http://www.jhei.net/exer/measurement/  を元に考えてみました  評価基準は年齢、性別により定まる  評価は5段階に分類される(1.優れている、2.やや優れている、3.ふつう4.やや劣っている5.劣っている >名前、年齢、性別、各種テスト種目の結果の数値を入力すると、テスト種目の判定、たとえば○歳の男性の場合、開眼片足立ちが△秒できるとA判定、というものが出てくるようにしたいと考えています。 LOOKUP関数というものがテストの集計や成績表をつくるのによく使用されているものであるということはわかったのですが、反映の仕方がいまひとつわかりません。 ★お察しの通りLOOKUP関数がキーポイントですが  LOOKUP関数は情報が?~?には対応していません  そこで帯にする関数としてCEILING.MATH関数を利用します  準備は  1.利用者様の情報テーブル(氏名、性別、誕生年月日)  2.評価基準テーブル(性別、年齢別、種目毎)  3.測定履歴テーブル(測定日、利用者名、測定値)   これに測定日の年齢、年齢帯、測定値帯を関数で求めます   年齢=DATEDIF(誕生年月日,測定日,"y")   if 年齢<60,年齢帯=CEILING.MATH(年齢,10),年齢帯=CEILING.MATH(年齢,5) 肝心の測定値を評価表に対応させる方法が想い付きません

fransis
質問者

お礼

こんばんは。ご回答ありがとうございました。 また見たことが無い関数が出てきてびっくりしました。 IF関数で色々やっていたところだったので、どうしたものかと頭を悩ませておりましたが、最終的にはこの後も色々ご検討いただきまして、ほんとうにありがとうございました。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

>VBAが使えない場合 質問者のパソコンにおいて、VBAが使えるようになっても、勉強してVBAプログラムが組めるようにならないと、何にもならないのですが、まあこの点を解決するか納得しておくのも必要でしょう。 Excelがインストール済みとして http://rkprog.hatenablog.jp/entry/2015/10/27/150616 などをやってみてください。 Googleで「vbaを使う」などで照会すれば、たくさん記事が出ます。上記はその中の一例です。 >わたしのパソコンでVBAが使えるようになる方法 についてのことです。この記事に沿って、操作をやってみて、どこで記事の記述通りに進まなくなりますか? ーーー 次に、関数での方法を質問するなら、10行ぐらい以内でシートのサンプルデータを質問に挙げて、再質問すべきでは? >集計シートが作れるか、と>名前、年齢、性・・・とA判定、というものが出てくるようにしたい、とがバラバラな視点なのだが正確に記述してください。 -- VBAのプログラムを思い通りに組めるようになるのは、プログラムの未経験者は、ずいぶん時間がかかるとおもう。私も後期高齢者だが、20年間ここの質問に答えて、そう思う。 だからVBAのことは、質問の話題に出さず、現状のデータの説明と、出したい結果に絞って、質問には記述したほうが良い。使う関数の種類(どの関数を使うか)なども回答者にまかせればよいのだ。 回答は、どうせ多くても、関数を利用した、2-3種類の回答しか出ないと思うから。 その関数を理解することに、力を注ぐしかないと思う。 >LOOKUP関数というもの・・ 回答者にまかせればよいのだ。当面は、それを勉強する・理解するに徹すること。 回答者は、LOOKUP関数がある、と言われても、そんなことは、既に知っていて、それを使うのが適当かどうか、各自が判断するから、ヒントにもならない。 何よりも、回答者は、回答のために、シートのデータのあり様が知りたいはず。それを質問の文章で、文章文字で、ちょこちょこ書かれても、回答の何の役にも立たない。 それと出したい結果を(文章で表現して)明確にすること。

fransis
質問者

お礼

ご回答ありがとうございました。 テンプレートに組み込まれているらしいVBAが使えないので困っていました。 リンクを拝見しまして順にやってみました。開発タブを出すところまではできました。 また、質問に関してのアドバイスもありがとうございます。 同世代であろうにパソコンの習熟度の違いをまざまざと感じ、己の怠慢を恥じ入るばかりです。 今回は親切なみなさんのおかげでなんとか解決のめどが立ちそうです。 次回、またお知恵をお借りしたいと思った時には、ご指摘があったとおりに明確に内容を説明してご助力を仰ぎたいと思います。ありがとうございました。

  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.3

とりあえずOfficeを修復してみましょう。 https://support.office.com/ja-jp/article/office-%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E4%BF%AE%E5%BE%A9%E3%81%99%E3%82%8B-7821d4b6-7c1d-4205-aa0e-a6b40c5bb88b Vlookupの場合の単純な例ですが F列の秒以上できるとG列判定とした場合 各列1行目から判定用の基礎データを作成したとして F列 G列 0  F 10  E 20  D 30  C 40  B 50  A B1に開眼片足立ちのデータを入れた場合 判定を出したいセルに =VLOOKUP(B1,$F$1:$G$6,2,TRUE) このような感じです。 年齢性別が判定要素に入ると思いますのでこれに手を加えなければいけないとは思います。

fransis
質問者

お礼

ご回答ありがとうございました。 修復、試してみました。しかしファイルは起動しませんでした…。 Vlookupの例の提示もありがとうございました。 まだまだ勉強することが多そうです。精進します。

  • kon555
  • ベストアンサー率51% (1842/3559)
回答No.2

VBA=マクロはセキュリティの辺りもご確認下さい。 https://www.relief.jp/docs/excel-vba-macro-security.html それはそれとして、言われているような仕様であればif関数というもので実現できると思います。 if関数とは、一定の条件に当てはまるか当てはまらないかを判定して、「当てはまる場合はA、当てはまらない場合はBを表示する」などを行える関数です。 書き方についてはちょっとややっこしいのですが、解説しているサイトもいっぱいあるので検索してみてください。 https://udemy.benesse.co.jp/office-enhance/microsoft-office/excel-if.html

fransis
質問者

お礼

ご回答ありがとうございます。 セキュリティの項目も確認してみたのですが、やはり起動してくれませんでした。 そしてご提案戴いた関数について、調べてみました。 なんとなく作りかけていたところ、思わぬ模範解答をいただくことができました。 今度また自分でなにか作るときはこちらの関数を使ってみたいと思います。ありがとうございました。

  • unokwave
  • ベストアンサー率58% (966/1654)
回答No.1

altを押しながらf11を押すとvbeが起動します。

fransis
質問者

お礼

それが、「できません」という内容のポップアップが出てくるのです…。

関連するQ&A

専門家に質問してみよう