エクセルの質問です。いろいろ関数を試したり、Q&Aを調べても判りませんでしたのでお助けください。体力テストの結果について複数条件から、高い5、やや高い4、普通3、やや低い2、低い1と5段の評価値を返したいのです。sheet1での入力が、(1)性別(2択)(2)年齢(40才から85才以上まで5歳刻み・10択)、(3)テスト数値、以上を入力すると自動で、(4)評価値を同行セルに返したいのです。sheet2には試行的に参照する評価表を作成し、まず(1)(2)については例えば、男性(1)、43歳(40~44歳)なら140という条件値(計20択)に変換しながら試みています。しかし(3)測定値が、例えばの長座位体前屈というテストでは40~44歳男では、~-5cm→1、-4.9~5cm→2、5.1~10cm→3、10.1~20cm→4、20.1cm~→5というように区間数値から評価値を求めなくてはいけません。性別・年齢区分ごとに評価値が変わるのでややこしく、他にも同様に多種類のテストをします。評価表をにらみながらの手作業入力がたいへんなので何とか自動化できればと考えています。VLOOKUPやDGETやIF等あれこれ試しましたが、(1)(2)+(3)測定値→(4)評価値への変換ができず不可能かとあきらめ気分です。お忙しいところ恐縮ですが、解決へのヒントをお与えください。もし可能ならば初中級レベルなので例文も交えて説明いただけると幸いです。
sheet1
A B C D
1 性別 年齢 テスト値 評価値
2 男 43 9 3
3 女 68 -2 1
sheet2
A B C
1 性別年齢 テスト値 評価値
2 140 -5 1
3 140 5 2
4 140 10 3
: : : :
No.5ベストアンサー
- 回答日時:
横から失礼します。
例えば、下記参考画像のような形で参照表を用意すれば、
=MATCH(C2,INDEX(OFFSET($G$3:$K$12,,IF(A2="男",0,5)),MATCH(B2,$F$3:$F$12,1),),1)
で評価値を求めることができます。
---------------------------------------------
・縦軸は年齢
「○歳以上□歳未満」の「○」の部分に相当する値を若い順に記入。
・横軸は評価値
左から1,2,3,…
・データ部分は境界値
「●以上■未満」の「●」の部分に相当する値を数字が小さい順に記入。
※「評価1」の欄は●に該当する値がないので「十分に小さい値」(例では-99.9)を記入する。
---------------------------------------------
蛇足
・IF(A2="男",0,5)
⇒ A列が"男"ならば0を、"男"でなければ5を返す。
・OFFSET($G$3:$K$12,,【男性なら0,女性なら5】)
⇒ 性別に応じた表を返す。
※男性 ⇒ G3:K12 、女性 ⇒ (5列右にずらして)L3:P12
・MATCH(B2,$F$3:$F$12,1)
⇒ 年齢欄(F3:F12)をMATCHで1型検索して、
年齢に該当する行位置を返す。
※47歳 ⇒ (見出し含めず2行目なので) 2
・INDEX(【性別に応じた表】,【年齢に応じた行位置】,)
⇒ 【性別に応じた表】から【性別・年齢に応じた行】を抜き出して返す。
※42歳女性 ⇒ L3:P3
・=MATCH(C2,【性別・年齢に応じた行】,1)
⇒ 【性別・年齢に応じた行】をMATCH1型検索して、
テスト値に該当する列位置(評価値)を返す。
※42歳女性15 ⇒ (左から4セル目がヒットするので) 4
---------------------------------------------
以上ご参考まで。
この度はお世話になります。判りやすく図表も交えたご親切なご指導に感謝いたします。この数年、手作業で判定していましたので、今回の自動入力が完成できれば、ほんとうに楽になります。これで私以外の者にも引き継ぐこともできると喜んでおります。_kyle様のご回答の方法が、多数の参照表を作るにあたり、簡便で利用しやすいので使わせていただきたいと考えています。またOFFSETという関数を学ぶこともでき、とても勉強になりました。
今回、はじめての「教えて!」の投稿で、そんなんも判らんのか!という回答がくるのではと不安でしたが、とてもよい方法をご伝授していただき感謝しております。_kyle様はじめ、ご親切な方に恵まれありがたく思います。誠にありがとうございました。
No.6
- 回答日時:
毎晩失礼します!m(__)m
私も一生懸命No.5さんのようなきれいな回答を考えていましたが、
いまだに解決していません。
最後に↓のような表を考えてみました。
参考になればいいのですが・・・
ちなみに、E2セルの数式は
=IF(OR(A2="",B2="",C2=""),"",IF(B2="男",INDEX($I$3:$AC$12,MATCH(C2,$H$3:$H$12,-1),MATCH(D2,$I$2:$AC$2,-1)),INDEX($I$16:$AD$25,MATCH(C2,$H$16:$H$25,-1),MATCH(D2,$I$15:$AD$15,-1))))
とかなり長いものになっていますので、この式をコピー&ペーストしてみてください。
ちなみに、年齢の109歳というのは、ExcelのDATEDIF関数を使った場合に計算できる最大の年数にしてみました。
実際はこの年齢での測定はないかもしれませんが・・・
以上!何度も何度も!失礼しました。m(__)m
こんにちは。ご連絡遅くなりました。No.3のアドバイスを受け、自分なりに工夫しながら他の表も作成して検証しておりました。tom04様と同様の表と計算式をつくることができ、ご指導のおかげで希望の値を返すことができ、大感激でした。エクセルに詳しい知人に相談しても解決できず、あきらめかけていたので、今回のアドバイスがとてもうれしかったです。
tom04様には何度も表を修正していただき、未入力を表示させない工夫など、痒い所に手が届くような細かなご配慮、多大の時間を費やしていただき、ほんとうに感謝しております。ありがとうございました。
今回のことでINDEXとMATCH関数の組み合わせという使い方を学ばせていただき、とても勉強になりました。
このあと、他にも多数の参照表を作る関係上、No.5さんの簡便な方法を使わせていただこうと考えており、tom04様にはほんとうに申し訳ないと思っています。アドバイスいただいた未入力を表示させない工夫なども交えながら完成させたいと思っています。
何よりも迅速に誠実に回答していただいたご親切は忘れません。ほんとうにありがとうございました。
No.4
- 回答日時:
たびたびごめんなさい!
No.3です
先ほどの表では86歳以上のデータがありません。
それから年齢の境界を間違っているような気がします。
例えば、「70代>」という意味は70歳を超えるではなく、70歳以上ということですよね?
もしそうであれば、年齢の欄の数値 71 → 69 と言うようにすべて訂正してください。
つまり表示されている数値までの範囲がその行・列に該当します。
この辺は適当にアレンジお願いします。
それからもう一つ・・・
空白の欄に「1」を入れておかないと、万一空白欄に対応する方がおられた場合、
「0」が表示されると思います。
どうも何度も失礼しました。m(__)m
No.3
- 回答日時:
こんばんは!
前回は質問内容を取り違えていたようで
ごめんなさい!m(__)m
テスト値の範囲が年齢によって変化するということなのですね?
色々頭を悩まし関数を組み合わせてみましたが、
結局いい案は浮かびませんでした!
そこで無理矢理って感じもしますが、↓の画像のようにしてみました。
男性の場合のみの表をSheet2に作成したものです。
Sheet1のE2セルに
=IF(OR(A2="",B2="",C2="",D2=""),"",IF(B2="男",IF(D2>20,5,INDEX(Sheet2!$C$2:$W$11,MATCH(C2,Sheet2!$B$2:$B$11,-1),MATCH(D2,Sheet2!$C$1:$W$1,-1)))))
この数式をコピーして貼り付けてみてください。
たぶん要望に近いものが出来るのでは?
女性の場合も同じようにSheet3などに作成して、
数式をIF関数の「偽」のところに組み合わせれば、Sheet1のデータが
男女混合でもオートフィルで対応できるかと思います。
もし、これまた的外れならごめんなさいね!m(__)m
No.2
- 回答日時:
こんばんは!
Sheet2にあるように性別年齢を140という様な数値にしないといけないのでしょうか?
実際の年齢とテスト値を入力するだけで評価値を表示できるようにする方法はあると思います。
INDEX関数とMATCH関数の併用です。
一例ですが・・・
男性・女性別々に評価値の表を作っておく必要がありますが、
男性の場合で回答します。
まず、評価値を↓のように別Sheetに作成しておきます。
今回はSheet2に作成した場合です。
この場合年齢・テスト値両方とも降順に並べておかなければいけません。
A B C D E F
年齢 >20 20 10 5 -5
1 >84
2 84
3 79
4 74
5 69
6 64
7 59
8 54
9 49
10 44 5 4 3 2 1
11 39
(質問内容の43歳・テスト値=9 というデータしか入力していません)
として、Sheet1は
A B C D
1 性別年齢テスト値評価値
2 男 43 9
3 女 68 -2
となっている場合、評価値をD2セルに表示させるとします。
D2セル==IF(OR(B2>84,C2>20),Sheet2!B2,INDEX(Sheet2!C3:F12,MATCH(B2,Sheet2!A3:A12,-1),MATCH(C2,Sheet2!C1:F1,-1)))
これでなんとか希望通りの表示になるのではないでしょうか?
尚、女性の場合は同じように女性用のデータから数式を入れなければなりません。
元データ表の 年齢が84を超えた場合や、テスト値が20を超えた場合は
元データ表のB2セルを表示させるようにしています。
ちなみに、表の説明として
年齢44の行は 39<年齢≦44 の範囲がこの行を参照し、
テスト値9の列は 5<テスト値≦10 の範囲の列を参照します。
すなわち両方のデータが交差する D11セルのデータ「3」が表示されるということです。
以上、参考になったでしょうか?
どうも長々と済みませんでした。
的外れの回答なら読み流してください。m(__)m
この回答への補足
早々のご指導をありがとうございます。特に140とする必要はありません。丁寧な図解を添えていただき、感激です!早速、熟読し試してみます。まずはお礼申し上げます。ありがとうございます!
補足日時:2009/03/23 21:06ご指導ありがとうございます。すっきりとした形にできるかと思ったのですが、まだ躓いております。
ご提示頂いたSheet2の男性の表では1行目の測定値が固定されていて、年齢区分ごとに評価値(得点)の方が変動して返すことになりそうです。でも私の希望は、評価値が固定される必要があり、測定値の範囲の方が変動いたします。(5,4,3,2,1が1行目に固定されていて、それが返ればいいのですが・・)
ちなみに男性の測定値区分は40代>20,20,10,5,-5、45代>18,18,10,5,-5、50代>18,18,8,4,-5、55代>16,16,6,2,-5、60代>16,16,5,0,-9、
65代>15,15,3,-1,-10、70代>15,15,2,-2,-11、75代>12,12,0,-4,-13、80代>12,12,0,-4,-13、85代>10,10,0,-4,-13 です。
女性の測定値区分は40代>23,23,13,10,4、45代>23,23,13,10,4、50代>23,23,13,9,2、55代>23,23,12,9,3、60代>22,22,12,8,1、
65代>21,21,10,6,-1、70代>20,20,9,5,-3、75代>19,19,8,4,-3、80代>18,18,8,5,-3、85代>17,17,7,3,-5 (長座位体前屈・単位cm)となっています。
あとまだ次の段階の表の切替えまでは考えられていませんが、今のままでは、性別に関係なくSheet2の値を返しまから、男性表か女性表かの参照の切替えは、Sheet1のA列に入力した値をIF関数?等で判断するように、D2の式に組み込めばいいということなのでしょうね。
もし、ご指導いただいた内容に反して、私の解釈が誤まっていましたらすみません。ご容赦ください。もし解決方法がございましたら、再度ご指導いただけると幸いです。お手数をおかけして申し訳ありませんでした。ありがとうございました。
No.1
- 回答日時:
同じテスト値でも、性別や年齢によって評価値は変わるのですか?
質問文の例題では、
~-5cm→1、-4.9~5cm→2、5.1~10cm→3、10.1~20cm→4、20.1cm~→5というように
と書いていましたが、これは40~44歳男の場合であって、
年齢が変われば同じテスト値でも評価値は変わってくるということですか?
テスト内容・性別年齢ごとのテスト値に対応する評価値の一覧表を作成すれば関数だけでうまく作れそうな気がします。
ですので補足要求いたします。
この回答への補足
さっそくの回答ありがとうございます。おっしゃるとおり性別と年齢区分が変わると数値がかわります。例は40~44歳男でしたが、45~49歳男では低い~普通は同じ値ですが、やや高い(4)が10.1~18cm、高い(5)が18.1cm~となります。5歳刻みで異なっています。ちなみに女性では40~44歳と45~49歳は同じで、(1)~4cm、(2)4.1~10cm、(3)10.1~13cm、(4)13.1~23cm、(5)23.2cm~となっています。でも50歳代、55歳代は異なっています。
性別2択×年齢区分10択×5段階評価 100択!からの選択になりますが、区間の処理で行き詰っています。どうぞよろしくご指導お願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 再婚 30代後半女性を点数で付けると何点になりますか? 婚活男性の方に質問です。 女性を婚活から見た時の点 1 2022/10/11 23:14
- 簿記検定・漢字検定・秘書検定 簿記一級を取るべきかわからず困っています。 簿記一級とその他学外活動の各コストパフォーマンス(費用対 3 2022/08/21 20:16
- 中学校 あまりに理不尽だと思いませんか? 都内某中学校に通っている三年生です。 一学期末に成績表が返されまし 4 2022/08/25 13:33
- 楽天市場 商品、サービスの「評価サイト」を作る予定なのですが、この分野はやめた方が良いの理由を述べれる方。 3 2023/01/31 00:37
- ヤフオク! Q1)ヤフオクで落札直後、裁判がどうこう言ういきなり出品者の身勝手で落札者に対して失礼な自己満ルール 6 2023/08/12 10:57
- 発達障害・ダウン症・自閉症 知的障害者の20歳です。 優秀な親から犯罪者未満のような下劣な子供が産まれました。 私の両親は優秀で 1 2023/02/01 17:56
- 退職・失業・リストラ 人事評価が最低評価で落ち込んでいます 9 2023/07/06 15:35
- その他(悩み相談・人生相談) 職場での評価が散々です。何をどうしたらいいのかわからない 3 2023/02/09 19:49
- その他(学校・勉強) スシロー “ペロペロ高校生” は、日本の教育の失敗ですね? 20 2023/02/08 07:08
- 大学・短大 創価大学って、なんとなくですが宗教と関係があるとか云々で毛嫌いしてる人が多くないでしょうか? 日本の 5 2023/04/06 19:17
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル数式に問題があります
-
11ケタの数字を打つと、エク...
-
Excelの警告について
-
excelVBAについて。
-
UNIQUE関数、配列数式を使わず...
-
Excelで、毎月の月曜と金曜の合...
-
エクセルの数式が分かりません
-
Excelで合計を求めたいです
-
【マクロ】メッセージボックス...
-
【マクロ】複数の日付データをY...
-
エクセル2021 範囲指定印刷をす...
-
カーソルを合わせてる時のみ行...
-
vbe でのソースコード参照(msgb...
-
エクセル初心者です 用語等まだ...
-
エクセル初心者です 用語とか良...
-
フィルター時の、別の列に書い...
-
フィルターをかけた時の、別の...
-
合計欄の文字を自動で全角文字...
-
エクセルの関数ついて
-
エクセル 別セルの2進数表示を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの警告について
-
エクセルの数式バーのフォント...
-
【Excel】日付に連動してプルダ...
-
【再投稿】レイアウトが異なる...
-
Excelについて教えてください ...
-
同率順位の発生しないランキン...
-
エクセルマクロについて教えて...
-
【Excel VBA】 テキストファイ...
-
Excel 標準フォントについて教...
-
Excelの計算で差分を求める場合...
-
Excelの区切り文字について質問...
-
大容量があつかえるソフトを探...
-
エクセルの計算式について(COU...
-
エクセルについて
-
今までは、 「CSVの出力先を選...
-
Excel ショートカットで列、行...
-
8:40までの出勤は全て8:30に...
-
if関数。半角文字や全角文字で...
-
エクセルの関数
-
毎週追加して行くセルの数値を...
おすすめ情報