『年齢別表示』(shota) 年齢を入力すると丸とか三角が表示されるようになりませんか。 宜しくお願いします。 例 A B 0 ◎ 10 ○ 20 □ 30 △ 40 ◇ 50 ▽ 60 ● 70 ■ 80 ▲ 90 ◆ 100 ▼ 0〜9 10〜19・・・90〜99 100以上 というふうにB列に関数で表示されるように出来ませんか ? 宜しくお願いします。 ---- ちょっと検索しただけで、コレだけ出てきました。   [[20040615151048]]『肥満度計算の判定表を作っています』(べべ) [[20050228095931]]『IFの使い方』(CHOCO) [[20050329112127]]『以上未満の一覧から指定?』(minmin) [[20060215145926]]『1〜10は"A" 11〜20は"B" 21〜80は"C"』(むり)   頑張ってください。 (キリキ)(〃⌒o⌒)b ---- キリキさん ありがとうございます。 頑張ります。 (shota) ---- 違う方ですかね? [[20060128205723]]『文字列の自動入力』(ウサギ) [[20060608212339]]『プルダウンからの自動反映について』(hbhiruta) [[20060601133505]]『顧客名にコードをつけて・・・』(えーぴー) えーぴーさんのログ。ROUGEさんの文章に注目です。 頑張って下さい。 (HANA) ---- to キリキさん もし宜しければ「その時の検索ワード」を教えて下さい。 (私のは決め打ちです。) (HANA) ---- 単純に、「以上 未満」でふb   そこから、関連するであろう「LOOKUP」を追加。 って流れでしょうか?   今回は使用していませんが、「|」(or)等も良く使います。 (キリキ)(〃⌒o⌒)b ---- やっぱりそれですか。 もっと「ズバリ」な過去ログも出てくるのに外れているので 「もしかして、なんか別のワードかも」とか思ったのです。 ありがとうございました。 (HANA) ---- >もっと「ズバリ」な過去ログも出てくるのに外れているので あははっ それは、σ(^o^;)が節穴なだけだから見つかってないだけかも・・・   (キリキ)(〃⌒o⌒)b ---- えっっ、そうだったんですか? 「あえて外してるのか。流石だ・・・」 なんて思ってたんですが。 (不親切なのは私だけか) いやいや、ちゃんと見たらちゃんと「ズバリ」ですね。 (あ、日本語変。) 私の方が節穴だったみたいです。失礼しました。 (HANA) ---- >不親切なのは私だけか そんなことないですよ^^   σ(^o^;)の見た感じ、HANAさんは「優しさライセンス」ゴールドですねb   (キリキ)(〃⌒o⌒)b ---- この式でいいと思います =LOOKUP(A1,{0;9.1;19.2;29.3;39.4;49.5;59.6;69.7;79.8;89.9;99.1},{"◎";"○";"□";"△";"◇";"▽";"●";"■";"▲";"◆";"▼";""}) キリキさん いつもいつも ありがとうございます。 HANAさんありがとうございます。 (shota) ---- なぜ、小数点が付いているのですか? それも、規則性のない小数点が・・・   もう一つ 検査範囲の数と、対応範囲の数もそろっていませんよ。 (キリキ)(〃⌒o⌒)b ---- >「優しさライセンス」ゴールドですねb やったぁ。ゴールドですか? 提示したら何処かで割引になりますか? 若しくは、更新が5年に一回で済みますか? でも、似非なんですよ〜。(笑) やっぱり節穴が空いている様なので塞いでおいた方が良いみたいですよ。 (↑すごい失礼ですね。本当に。) shotaさんに無断でスレお借りしてもう一つ教えて下さい。 「b」これは何を表してるんですか? ♭←これに似てるなぁ・・・と思いながら・・・。 お、shotaさん出来ましたか。良かったですね。 ・・・と思ったらもう一頑張りでしたか。 茶々を入れるのですが、件数が多みたいなので 対応表を作った方が分かりやすいかもしれませんよ。 (HANA) ---- >やっぱり節穴が空いている様なので塞いでおいた方が良いみたいですよ。 いやいや、そんな節穴だったらこのままにしておきまふb   >「b」これは何を表してるんですか? 多分ですよ。 σ(^o^;)は、人差し指を立てた「手」だと思って使ってます。 言葉で表すと『ねっ』とか『だね』みたいな感じかな? でも、そういうことかどうかわからずに使ってますw   (キリキ)(〃⌒o⌒)b ---- >人差し指を立てた「手」 おぉ、そう言われると確かにそのように見えますね。 これで安眠できそうです。 お世話になりました。 (HANA) ---- これでいいと思うんですが・・・ 1から100まで入力して検証してみたんですけど良かったみたいです。 おかしいところがあれば教えてください。お願いします。 =LOOKUP(A1,{0;9.1;19.2;29.3;39.4;49.5;59.6;69.7;79.8;89.9;99.1},{"◎";"○";"□";"△";"◇";"▽";"●";"■";"▲";"◆";"▼";""}) (shota) ---- >おかしいところがあれば教えてください。お願いします。 指摘しましたよb   「なぜ、小数点が付いているのですか? それも、規則性のない小数点が・・・   もう一つ 検査範囲の数と、対応範囲の数もそろっていませんよ。」   です。 小数点を使用している意味がないのです。 仮に使っても、なぜ「9.1」の次が「19.2」と、規則性がないのですか?   検査範囲の数と、対応範囲の数が揃っていないとおかしいでしょ? { 0 ; 9.1 ; 19.2 ; 29.3 ; 39.4 ; 49.5 ; 59.6 ; 69.7 ; 79.8 ; 89.9 ; 99.1} ? {"◎" ; "○" ; "□" ; "△" ; "◇" ; "▽" ; "●" ; "■" ; "▲" ; "◆" ; "▼" ; ""}   (キリキ)(〃⌒o⌒)b ---- 小数点は10:19と入力してエンタを押したら勝手に 10が1に変わったんです。 0;9. 1;19.2;29.3;39.4;49.5;59.6;69.7;79.8;89.9;99. 1 "◎";"○";"□";"△";"◇";"▽";"●";"■";"▲";"◆";"▼" この1が100以上をさしているようです。 1から102まで入力したら思い通りになりました。 もう私には手におえません。 キリキさん夜遅くまでご指導くださりありがとうございます。 痛み止めが切れてきました。 手が震えて入力困難となりました。 大変かってですが、また明日ご指導お願いいたします。 (shota) ---- 数式の内容がわからないのでしたら、 HANAさんも仰っているように >対応表を作った方が分かりやすいかもしれませんよ。 対応表を作成した方が良いかと思います。   >大変かってですが、また明日ご指導お願いいたします。 残念ながら、明日は忙しくなる可能性大です。 ご自身で頑張れるところまでやってみてください。 まずは、上記対応表を作成することをお勧めします。   もう寝ますが、寝る前に・・・ >小数点は10:19と入力してエンタを押したら勝手に これを読んでいると、数式そのものを勘違いされていますね。 10:19 ← 10〜19 と入力しているつもりでしょうが、そんな数式の入力方法はありません。(今回の関数に関しては) もう一度、紹介した過去ログをご覧になってください。   0;9 . 1;19 . 2;29 . 3;39 . 4;49 . 5;59 . 6;69 . 7;79 . 8;89 . 9;99 . 1  ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ "◎" ; "○" ; "□" ; "△" ; "◇" ; "▽" ; "●" ; "■" ; "▲" ; "◆" ; "▼"   と、思っているようですが、全然違います。。。 実際は、 0 ; 9.1 ; 19.2 ; 29.3 ; 39.4 ; 49.5 ; 59.6 ; 69.7 ; 79.8 ; 89.9 ; 99.1  ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ "◎" ; "○" ; "□" ; "△" ; "◇" ; "▽" ; "●" ; "■" ; "▲" ; "◆" ; "▼" こうです。   >この1が100以上をさしているようです。 「ようです。」とは、数式自体を把握していないようですね。 わからないまま、勝手に思い込んで数式を使うと、後で応用が効きませんよ。 LOOKUP関数のヘルプ LOOKUP 書式 1 の 解説 部分をお読みください。 (キリキ)(〃⌒o⌒)b ---- キリキさん ありがとうございます。 解説をよく読んでみます (shota) ---- 私の式はだめみたいです。 どうも皆様ご迷惑をおかけしました。 (shota) ---- 忙しいので、気になったので覗いてみました。 後の返事は夜になりますが・・・   またすぐに諦めるのですか? 何がわかって、何がわからなかったのでしょうか?   対応表のほうはどうなりました? 挑戦した結果なり過程の報告が欲しいところですが。。。 (キリキ)(〃⌒o⌒)b ---- 実際に実施してみたらキリキさんのおっしゃるとおりの結果になりました。 0;9 . 1;19 . 2;29 . 3;39 . 4;49 . 5;59 . 6;69 . 7;79 . 8;89 . 9;99 . 1  ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ "◎" ; "○" ; "□" ; "△" ; "◇" ; "▽" ; "●" ; "■" ; "▲" ; "◆" ; "▼"   と、思っているようですが、全然違います。。。 実際は、 0 ; 9.1 ; 19.2 ; 29.3 ; 39.4 ; 49.5 ; 59.6 ; 69.7 ; 79.8 ; 89.9 ; 99.1  ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ "◎" ; "○" ; "□" ; "△" ; "◇" ; "▽" ; "●" ; "■" ; "▲" ; "◆" ; "▼" いろいろと書き換えてみましたが思うような成果は得られませんでした。 私の能力では無理みたいです。 (shota) ---- 取りあえず現在格闘中のその式はおいておいて、 キリキさんがリンクしてくれている [[20050329112127]]『以上未満の一覧から指定?』(minmin) こちらをご覧になって再挑戦してみませんか? (HANA) ---- 今回で勉強になったこと =IF(AND(A1>=0,A1<10),"◎",IF(AND(A1>=10,A1<20),"○",IF(AND(A1>=20,A1<30),"□",IF(AND(A1>=30,A1<40),"△",IF(AND(A1>=40,A1<50),"◇",IF(AND(A1>=50,A1<60),"▽",IF(AND(A1>=60,A1<70),"●",""))))))) この式だと7種類は分けられることがわかりました、 ただ、このままの式だとA列が空欄でも◎が表示されます。 それ以外はちゃんと表示するようです。 キリキさんやHANAさんにご指導していただいて少し進歩しました。 後4つの分け方は今後の課題です。 どうもありがとうございました。 (shota) ---- ですから、他の方法を試してみましょうよ。 リンク先はごらんになっていただけましたか? ランク関数の時だって時間を計算する式だって、ちゃんと出来たじゃないですか。 最初の式の方法は条件が多い時には不向きなんですよ。 でも、リンク先の方法で出来たら、あの式の問題点すら 分かるようになるかもしれないんですよ。 取りあえず頭を白紙にして、リンク先をご覧下さい。 でも、本当にもうあきらめてしまうなら、 最後に終了宣言をしてください。 私もレスをやめようと思います。 (HANA) ---- マクロならこんな方法もありますよ。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) Select Case True Case Trim(Worksheets("Sheet1").Range("A1").Formula) = "" Cells(1, 2).Value = "" Case Worksheets("Sheet1").Range("A1").Formula >= 0 And Worksheets("Sheet1").Range("A1").Formula < 10 Cells(1, 2).Value = "◎" Case Worksheets("Sheet1").Range("A1").Formula >= 10 And Worksheets("Sheet1").Range("A1").Formula < 20 Cells(1, 2).Value = "○" Case Worksheets("Sheet1").Range("A1").Formula >= 20 And Worksheets("Sheet1").Range("A1").Formula < 30 Cells(1, 2).Value = "□" Case Worksheets("Sheet1").Range("A1").Formula >= 30 And Worksheets("Sheet1").Range("A1").Formula < 40 Cells(1, 2).Value = "△" Case Worksheets("Sheet1").Range("A1").Formula >= 40 And Worksheets("Sheet1").Range("A1").Formula < 50 Cells(1, 2).Value = "◇" Case Worksheets("Sheet1").Range("A1").Formula >= 50 And Worksheets("Sheet1").Range("A1").Formula < 60 Cells(1, 2).Value = "▽" Case Worksheets("Sheet1").Range("A1").Formula >= 60 And Worksheets("Sheet1").Range("A1").Formula < 70 Cells(1, 2).Value = "●" Case Worksheets("Sheet1").Range("A1").Formula >= 70 And Worksheets("Sheet1").Range("A1").Formula < 80 Cells(1, 2).Value = "■" Case Worksheets("Sheet1").Range("A1").Formula >= 80 And Worksheets("Sheet1").Range("A1").Formula < 90 Cells(1, 2).Value = "▲" Case Worksheets("Sheet1").Range("A1").Formula >= 90 And Worksheets("Sheet1").Range("A1").Formula < 100 Cells(1, 2).Value = "◆" Case Else Cells(1, 2).Value = "▼" End Select End Sub 上記ならセルA1が空欄でもB1に空欄に返ります。 A1から離れた瞬間にマクロが実行されてA1の値によってB1が設定されます。 小数でも判定できます。 更に条件はいくらでも指定可能です。 後はshotaさんが判断して下さい。 (HT) ---- HTさん ありがとうございます。 大変勉強になりました。 (shota) ---- shotaさんへ この処理が何をやっているのかを、時間かかっても良いので 正しく理解して下さいね (エクセル関数嫌いのHT) ---- HANAさんへ ご指導ありがとうございます。 リンク先は読んでみました。 でも私の頭は理解してくれません。 完全にギブアップです。 今回は終了としますがファイルは残して気が向いたら挑戦しようと思っています。 お付き合いくださりまことにありがとうございました。 今後とも宜しくご指導お願いいたします。 (shota) ---- >でも私の頭は理解してくれません。 リンク先のことと、まったく同じことを新しいファイルで行いましたか? 行ったけど理解が出来ないの? 行ってなく、見ただけだから理解できないの?   さて、どちらでしょう?   リンク先の、みやほりんさんの回答は、まさに今回のことと同じなんですけどね・・・ 対応表を用意し、「TABLE」という名前をつけ、VLOOKUP関数を使用する。 たった、これだけなんですが。。。   >完全にギブアップです。 わかりました。 σ(^o^;)もギブアップです。 何かが変わってくれているものかと思っていましたが・・・ 残念です。もう、レスをつけません。。。 兎に角、諦めることをしないで頑張ってくださいb   (キリキ)(〃⌒o⌒)b ---- 今、教わったところを新しいファイルでやっていましたが もう行き詰ってしまいました。 「仮にこの表A2:B7に「TABLE」という名前を付けておき、」 この名前の付け方すらわかりません。 ヘルプも見てみました。 この程度のレベルなので無理なんでしょうね。 (shota) ---- =VLOOKUP(C1,TABLE,2,TRUE) TABLEの作り方がわからないので、 セル番地A2:B7と入力したら出来ました。 何とかなりそうです。 わくわくしてます。 (shota) ---- 本当にレスはこれが最後です。   >今、教わったところを新しいファイルでやっていましたが これだけ長いこと、HANAさんが協力してくれたのに・・・ '' やっと 今''、新しいファイルで行ったのですね。。。   何のために、この学校に「全文検索」というものがあるのでしょう? >この名前の付け方すらわかりません。 「名前を付ける」で調べてみましたか?   では、では。 (キリキ)(〃⌒o⌒)b ---- >でも私の頭は理解してくれません。 文章を読んで理解しようとするから分からないのではないでしょうか? >ランク関数の時だって時間を計算する式だって、ちゃんと出来たじゃないですか。 と書きましたが、時間を計算する式が出来た時に、 その数式を理解出来てましたか? また、現在その式を理解することが出来ますか? 理解できなくても出来ることも有るんですよ。 (もちろん理解出来て数式を作ることが出来るのが一番いいですが) あらら、書いてる内に完成しちゃいましたか。 VLOOKUP関数は分かるようなので、その式が理解できますかね? (HANA) ---- 出来ました キリキさん HANAさんありがとうございました。 下記の表でできました。 本当にお世話になりました。 A B C 0 ◎ 41 10 ○ ◇ 20 □ ↑ 30 △ =VLOOKUP(C1,A1:B11,2,TRUE) 40 ◇ 50 ▽ 60 ● 70 ■ 80 ▲ 90 ◆ 100 ▼ (shota) ---- キリキさん ありがとうございます。 表に名前をつけるというのも理解できました。 (shota) ---- >本当にレスはこれが最後です。 とは言ったものの・・・   取り合えず、第1関門を突破したようですので、おめでとうの意味も含めてレスしちゃいましたw   上記関数の =VLOOKUP(C1,A1:B11,2,TRUE) ~~~~~~ ここの部分をマウスで反転してみてください。 =VLOOKUP(C1,[A1:B11],2,TRUE) こんな感じで、 そして、【F9】を押してみてください。   =VLOOKUP(C1,{0,"◎";10,"○";20,"□";30,"△";40,"◇";50,"▽";60,"●";70,"■";80,"▲";90,"◆";100,"▼"},2,TRUE) このようになると思います。 どうです?最初に作っていた式に近くなってきたでしょ? 並び順こそ違いますが、このような数式をshotaさんは作ろうとしていたのです。 どう? 小数点や、「9」とか「19」とかの数字はないでしょ?   だからなんだ! って事ですが、何かの参考になればb   では、では。 (キリキ)(〃⌒o⌒)b ---- びっくりするくらい簡単だったと思いませんか? ちなみに、 >VLOOKUP関数は分かるようなので、 と書きましたが、VLOOKUP関数は分かるのですかね? (過去ログ確認したらLOOKUP関数をお使いですが。) LOOKUP関数は『LOOKUP(検査値,検査範囲,対応範囲)』 このようにそれぞれの引数を指定しますが 今回のセル番地がどこに当てはまるか分かりますか? (HANA) ---- キリキさんありがとうございます。 HANAさんありがとうございます。 今回作った式は下記のものです。 =VLOOKUP(AC25301,AA25301:AB25311,2,TRUE)      検査値 検査範囲   対応範囲 これでいいんですよね ? 自信はないけど・・・ 日々お二人のご指導を頂き進歩していく自分がとても嬉しいです。 本当に心より感謝しております。 ありがとうございました。 (shota) ---- あれれ?関数の名前をよく見て下さい。 VLOOKUP関数とLOOKUP関数は違う関数ですよ。 よって、式の書き方も違います。 VLOOKUP関数は『VLOOKUP(検索値,範囲,列番号,検索の型)』 このように書きます。 =VLOOKUP(AC25301,AA25301:AB25311, 2 , TRUE )は   検索値, 範囲, 列番号 , 検索の型 ですね。 ★Q1.「列番号」と「検索の型」が何を表すか分かりますか? そこで今度は、同じ結果を出す数式をLOOKUP関数で作ってみませんか? 上でも一度書きましたが >LOOKUP関数は『LOOKUP(検査値,検査範囲,対応範囲)』 >このようにそれぞれの引数を指定します ★Q2.ヘルプとかと見ながら、LOOKUP関数を使った式を作ってみて下さい。 (HANA) ---- HANAさん いつも心にかけていただき誠にありがとうございます。 いろいろといじくっていたら下記のようなものができました。 =LOOKUP(AC25301,AA25301:AB25311,AB25301:AB25311) これでよろしいんでしょうか (shota) ---- ヘルプはご覧になりましたか? LOOKUPで検索をかけて出てくる LOOKUP 書式 1 (ベクトル形式) の方です。 検査値・対応範囲はそれで良いのですが 『検査範囲 1 行または 1 列のみのセル範囲を指定します。』 とありますよ。 ついでに 「重要 検査範囲に入力されている値は・・・」 と 「解説 ・検査値が見つからないと・・・」 と書いてある所も確認して下さいね。 読んで意味が分からなければご質問下さい。 ★Q2−2 新しい数式はどうなりましたか? ★Q2−3 ヘルプに書いてあることが分かりましたか? (HANA) ---- どうも私にはヘルプにヘルプがいるようです。 式をいじっていたら偶然に出来たというのが本音です。 LOOKUPで検索をかけて出てくる 1 行または 1 列で構成されるセル範囲、または配列に含まれる値を返します。 LOOKUP 関数の形式には、ベクトル形式と配列形式の 2 種類があります。 ベクトル形式の LOOKUP 関数では、ベクトルと呼ばれる 1 行または 1 列からなる配列を検査範囲として検査値を検索し、 検査値が見つかると、配列の次の行または列の同じ位置にあるセルに 含まれている値を返します。配列形式の LOOKUP 関数では、配列の先頭行、 または先頭列から検査値が検索され、検査値が見つかると、 配列の下方向または右方向の最終セルに含まれる値を返します。 HANAさん お気に止めていただいてまことにありがとうございます。 HANAさんがおっしゃっていることすら理解できません。 まことにすみませんが今回はこれで終了としたいと思います。 ありがとうございました。  (shota) ---- 簡単明瞭 =choose(int(A1/10)+1,"◎","○","□","△","◇","▽","●","■","▲","◆","▼") (JAL) int(A1/10)+1 A1の値を10で割って 小数切捨て それに+1 で出た値 1,2,3,4,5・・・ 対応"◎","○","□","△","◇","▽"・・・・ ---- JALさん ありがとうございます。 いろんな方法があるんですね。 (shota) ---- >どうも私にはヘルプにヘルプがいるようです。 ヘルプのヘルプが欲しい気持ちは分かりますよ。 ですから、ヘルプの内「私の指定した部分」をご覧下さい。 >★Q2−2 新しい数式はどうなりましたか? に関しては、ヘルプを見なくても >『検査範囲 1 行または 1 列のみのセル範囲を指定します。』 ヘルプから抜粋していますよ。 現在の検査範囲「AA25301:AB25311」は、この書き方に則ってますか? 私には2列のセル範囲が指定されているように見えますが。 >★Q2−3 ヘルプに書いてあることが分かりましたか? に関しては、 >LOOKUP 書式 1 (ベクトル形式) のヘルプの内 >「重要 検査範囲に入力されている値は・・・」 >と >「解説 ・検査値が見つからないと・・・」 で始まっている部分を見て下さい。 そして、その部分が何を意味しているのか分からなければご質問下さい。 (まぁ、書いてある文章通りの事なので 改めて「意味が分からないと」 なんて書いてあると難しく考えて、「なんかあるのか?」と 考えてしまうのかもしれませんが。特に何も無いですよ。) ・・・・と言う意味でしたが、それでも分かりませんかね? どうやら今まで私の言いたいことはshotaさんに伝わっていると思っていましたが そうでもないようですね。 「HANAが何を言っているのか分からない。もう止める」 なら、それで良いのでそのようにお書き下さい。 誠に勝手ながら 「HANAが何を言っているのか分からない。 もっと分かる言葉で書け」 と言っていただけるのが良いのですが。 もしくは、 「目的の式も完成したし、これを使うから新しい式はいいです。もう止める」 なら、それはそれでかまいません。 ただし、両者の間では私の中で決定的な違いがありますので どちらの理由なのか教えて下さい。 (HANA) ---- ちなみに、見てもらいたいヘルプは LOOKUPで検索して、最初に表示される所は shotaさんが貼り付けた文章が載っている所ですよね。 その文章の下には LOOKUP 書式 1 (ベクトル形式) LOOKUP 書式 2 (配列形式) と、さらにリンクが付いています。 このリンクの上側を開いた時に出てくるヘルプです。 (HANA) ---- ここを理解すればいいんですか ? 難しいみたいです。ちなみに「配列数式」についてはまったくのなぞです。 ネットでエクセル配列数式というのがあったので読んでみましたが何のことやらまったくわかりませんでした。 そしてそのままあきらめたままです。 LOOKUP 書式 1 関連項目 LOOKUP 関数の形式には、ベクトル形式と配列形式の 2 種類があります。 ベクトルとは、1 行または 1 列で構成されるセル範囲のことです。ベクトル形式の LOOKUP 関数は、 ベクトルと呼ばれる 1 行または 1 列からなる配列を検査範囲として検査値を検索し、 検査値が見つかると、配列の次の行または列の同じ位置にあるセルに含まれている値を返します。 この形式の LOOKUP 関数は、指定されたセルに含まれる値を返します。 配列形式の LOOKUP 関数は、範囲の先頭列または先頭行を自動的に検索します。 書式 1 ベクトル形式 ● LOOKUP(検査値,検査範囲,対応範囲) ● 検査値 検査範囲で検索する値を指定します。 検査値には、数値、文字列、論理値、または値を参照する名前やセル参照を指定することができます。 ● 検査範囲 1 行または 1 列のみのセル範囲を指定します。 検査範囲に含まれる値は、文字列、数値、論理値のいずれかである必要があります。 ▲ 重要 検査範囲に入力されている値は、数値は 1 〜 9、アルファベットは A 〜 Z、かなは ▲ "あ" 〜 "ん"、ブール型の値は FALSE から TRUE へ昇順に並べておく必要があります。 そうでない場合、LOOKUP 関数では正しい値を見つけることができません。 また、英字の大文字と小文字は区別されません。 ● 対応範囲 1 行または 1 列のみのセル範囲を指定します。対応範囲は検査範囲と同じサイズである必要があります。 解説 ■ 検査値が見つからないと、検査範囲に含まれている検査値以下の最大の値が使用されます。 検査値が検査範囲に含まれる最小値よりも小さいと、エラー値 #N/A が返されます。 使用例 使用例を新規のワークシートにコピーすると、計算結果を確認できます。 その方法は? 新しいブックまたはワークシートを作成します。 ヘルプ トピックにある使用例を選択します (行番号および列番号を除く)。 ヘルプから使用例を選択する Ctrl キーを押しながら C キーを押します。 ワークシートのセル A1 を選択し、Ctrl キーを押しながら V キーを押します。 計算結果と結果を返す数式の表示を切り替えるには、 Ctrl キーを押しながら ` (一重引用符) キーを押すか、 または [ツール] メニューの [ワークシート分析] をポイントし、[ワークシート分析モード] をクリックします。 1 2 3 4 5 6 A B 周波数 色 4.14 赤 4.19 オレンジ 5.17 黄 5.77 緑 6.39 青 数式 説明 (計算結果) =LOOKUP(4.19,A2:A6,B2:B6) 列 A の 4.19 を検索し、同じ行にある列 B の値を取得します (オレンジ) =LOOKUP(5.00,A2:A6,B2:B6) 列 A の 5.00 を検索し、この値以下の最大値である 4.19 と同じ行にある列 B の値を取り出します (オレンジ) =LOOKUP(7.66,A2:A6,B2:B6) 列 A の 7.66 を検索し、この値以下の最大値である 6.39 を選び出し、 同じ行にある列 B の値を取り出します (青) =LOOKUP(0,A2:A6,B2:B6) 列 A の 0 を検索しますが、0 は検査範囲であるセル A2:A7 にある最小値 よりも小さいため、エラー値が返されます (#N/A) 今回の場合は =LOOKUP(AC25301,AA25301:AA25311,AB25301:AB25311) これでいいんですよね 気にかけてくれてありがとうございます。 ---- >ここを理解すればいいんですか ? それはヘルプ全体ですよね。 今の段階で全部を理解する必要は無いと思いますよ。 >ヘルプの内「私の指定した部分」をご覧下さい。 上に引用した部分の「私の指定した部分」を探して抜き出すことが出来ますか? >今回の場合は >=LOOKUP(AC25301,AA25301:AA25311,AB25301:AB25311) >これでいいんですよね そうです。ヘルプにそう書いてありますでしょ? LOOKUP関数は 「LOOKUP(検査値,検査範囲,対応範囲)」 それぞれの言葉の部分にどのセル範囲を当てはめるかと言うと 「検査値 検査範囲で検索する値を指定します。」 今回は探す数字を入力するセル番地 AC25301 「検査範囲 1 行または 1 列のみのセル範囲を指定します。」 今回は対応表(AA25301:AB25311)の左側に探す値に対応する値があるので そのセル範囲の番地 AA25301:AA25311 「対応範囲 1 行または 1 列のみのセル範囲を指定します。」 今回は対応表(AA25301:AB25311)の右側に表示したい値があるので そのセル範囲の番地 AB25301:AB25311 (shotaさんが貼り付けてくれたヘルプの行頭に直接“●”を 4カ所付けておきますね。「 」の中に入れた文章が 単にコピーしてはりつけただけな事を確認して下さいね。) この数式を作ってもらいたかった理由を説明する前に とりあえず、ヘルプの文章の中から >>「重要 検査範囲に入力されている値は・・・」 >>と >>「解説 ・検査値が見つからないと・・・」 で始まっている部分を抜き出して再度貼り付けてみて下さい。 どこに書かれているか分かりますか? (HANA) ---- 残念ながら意味がわかりません 今回の場合は =LOOKUP(AC25301,AA25301:AA25311,AB25301:AB25311) これでいいんですよね 下記の事柄が何をいわんとしているのかわかりません。 この数式を作ってもらいたかった理由を説明する前に とりあえず、ヘルプの文章の中から >>「重要 検査範囲に入力されている値は・・・」 >>と >>「解説 ・検査値が見つからないと・・・」 で始まっている部分を抜き出して再度貼り付けてみて下さい。 どこに書かれているか分かりますか? 期待通りに理解できなくてごめんなさい。 (shota) ---- まとめ 関数で表示する方法です AA AB AC 25301 0 ◎ 45 25302 10 ○ ※1 25303 20 □ ※2 25304 30 △ ※3 25305 40 ◇ 25306 50 ▽ 25307 60 ● 25308 70 ■ 25309 80 ▲ 25310 90 ◆ 25311 100 ▼ ※1  =VLOOKUP(AC25301,AA25301:AB25311,2,TRUE) ※2  =VLOOKUP(AC25301,0,"◎";10,"○";20,"□";30,"△";40,"◇";50,"▽";60,"●";70,"■";80,"▲";90,"◆";100,"▼"},2,TRUE) ※3  =LOOKUP(AC25301,AA25301:AA25311,AB25301:AB25311) ※1から※3を教えていただきました。 そして上記のように整理してます。 どこが悪いんでしょうか ? また、他にも式があれば教えてください。 (shota) ---- >どこが悪いんでしょうか ? 完成した式は悪くないと思いますよ。 >下記の事柄が何をいわんとしているのかわかりません。 と言う事なので、とりあえずshotaさんがコピペしてくれたヘルプの中の 私が「ここを見てもらいたい」と言った部分の行頭に“▲”と“■”の 印を付けてみました。 そこを確認できますか? 確認できた後に、私の書いた事柄を見てもやっぱり私が何をしてもらいたかったのか 分かりませんか?(そうで有れば遠慮なくお申し付け下さいね) ●印が付いている行の書き方に則って数式を作ったら どんな点に注意が必要だと書いてあるのか分かりますか?(▲の部分) また、リストにない値が入力された時どの値を使用すると書いてあるか分かりますか? (■の部分) (HANA) ---- HANAさん 何度もお手間を取らせてすみません。 まったく の取りが悪くていらいらしておられると思います。 結果 値は、FALSE から TRUE へ昇順に並べておく必要があります。 対応範囲 1 行または 1 列のみのセル範囲を指定します。対応範囲は検査範囲と同じサイズ こういうことですか。 (shota) ---- いえいえ、確認していただけているようなので良いのですが >>「重要 検査範囲に入力されている値は・・・」 は >値は、FALSE から TRUE へ昇順に並べておく必要があります。 これで良いのですが(注「検査範囲に入力されている」が抜けてますよ) >>「解説 ・検査値が見つからないと・・・」 の方は・・・・。 >対応範囲 1 行または 1 列のみのセル範囲を・・・ ●の付いた行ではなくて、■が付いた行ですよ。 さて、どこですか? (HANA) ---- ■ 検査値が見つからないと、検査範囲に含まれている検査値以下の最大の値が使用されます。 これですか 「さて、どこですか」ってどういう意味ですか ? 本当に馬鹿でしょう ? HANA山河こんなにも教えてくださっているにもかかわらずいまだに理解不能です。 またの機会に教えてください。 本当にありがとうございました。 今回はこれで終わりにさせていただきたいと思います。 (shota) ---- 「さて、どこですか」 って、そこですよ。 それが見つけられるのだから別に馬鹿だとは思いませんが。 理解不能なのは何でしょうか? 私の書き方? ヘルプの文章? それともその内容? 私の意図する所? もしも最後なのであれば、私が最終的な結論を言うまでは 意図する所が理解不能なのは当然だと思いますが。 もう少しで、最初の「私の意図する所」は出てくるのですが 本当にもう止めますか? (HANA) ---- もう長くなってしまって頭の中はごちゃごちゃになっております。 そうです 「私の意図する所?」 そこがわからないのだと思います。 わからないところがわからないっていう感じになっています。 出来れば「私の意図するところ」を度素人にもわかる表現で教えてもらえませんか。 宜しくお願いします。 (shota) ---- キリキさん HANAさんありがとうございました。 下記の表でできました。 本当にお世話になりました。 A B C 0 ◎ 45 10 ○ =VLOOKUP(C1,A1:B11,2,TRUE) 20 □ =VLOOKUP(C1,{0,"◎";10,"○";20,"□";30,"△";40,"◇";50,"▽";60,"●";70,"■";80,"▲";90,"◆";100,"▼"},2,TRUE) 30 △ =LOOKUP(C1,A1:A11,B1:B11) 40 ◇ 50 ▽ 60 ● 70 ■ 80 ▲ 90 ◆ 100 ▼ 3種類の表現方法を教えていただきましたのでこの件はもう終わりにしたいと思います。 キリキさん HANAさん ありがとうございました。 (shota) ---- 「馬を水辺に連れて行くことはできるが、水を飲ませることはできない」 これは確かな事だと思いますが、私は是非shotaさんに最後まで (せめてどれか一つでもshotaさんが私の意図する所にたどり着いてくれるまで) お付き合いして頂きたいと思います。 結論は急ぎません。 「HANAが書き込むから、仕方なくレスする羽目になるのだ」 と言うなら、レス不要です。 でも「どうして自分がここまで頭を混乱させられているのか。 結局HANAは自分に何をさせたかったのか見極めたい」と言うなら 続けましょう。 (最後まで行って頭のごちゃごちゃが解消されるかどうかは 保証の限りではありませんが・・・・。) (HANA) ---- 「さわられぬHANAは貝になろう」 と思ったのですが、そう言えばさわれる部分も作っておきます。 今回「どうしても」と言って作成してもらったのが =LOOKUP(C1,A1:A11,B1:B11) このLOOKUP関数を使った関数です。 所で、このスレの最初の方で格闘していた関数が 何の関数だったか覚えていますか? もちろん >「HANAが書き込むから、仕方なくレスする羽目になるのだ」 つまり「いい加減自分を解放して欲しい」 >と言うなら、レス不要です レスが無ければ、私はそのまま貝になります。 (HANA) ---- 対応範囲 これの判断で手間取ったんですよね 最初は下記の式から始まったんですよね。 =LOOKUP(A1,{0;9.1;19.2;29.3;39.4;49.5;59.6;69.7;79.8;89.9;99.1},{"◎";"○";"□";"△";"◇";"▽";"●";"■";"▲";"◆";"▼";""}) そして結局3通りの式を教えていただきました。 それに脳梗塞の後遺症の右半身の痛みがひどくなりました。 痛み止めの座薬も効果がなくなりました。 今日はここまでで横になります。夜遅くまでお付き合いくださりまことにありがとうございます。 もう十分です。満足してます。 キリキさん HANAさん 本当にありがとうございました。 またわからないところがでてきたら宜しくお願いします。 (shota) ---- 本当に、長いこと引っ張ってしまってごめんなさいね。 「貝になります」とは言ったものの 流石に申し訳ないので、以下文章を書いてみます。 体調の宜しいときに、実際にシートの各セルに各データを入力して 以下の文章とにらめっこしながら読んでみてください。 もうだいぶ長くなってしまって探し出すのも大変ですが >>でも、リンク先の方法で出来たら、あの式の問題点すら >>分かるようになるかもしれないんですよ。 だから、(minmin)さんの過去ログを見ながらもう一度やってみて と言う様な提案をしました。 「あの式」がLOOKUP関数だったので、どうしてもLOOKUP関数を使った数式を 完成して頂きたかった次第です。 キリキさんの >おめでとうの意味も含めてレスしちゃいましたw このレスを見ながら、作ったLOOKUP関数に同じ事をしてみます。 =LOOKUP(C1,A1:A11,B1:B11) ^^^^^^ ~~~~~~ [A1:A11]を反転させて[F9]、その後[B1:B11]を反転させて[F9]すると =LOOKUP(C1,{0;10;20;30;40;50;60;70;80;90;100},{"◎";"○";"□";"△";"◇";"▽";"●";"■";"▲";"◆";"▼"}) こんな式に変わります。 検索範囲のセル番地 A1:A11 は、実際にそのセルに入力されている値が “;”で区切って羅列されたものに変わっていることが分かりますか? つまり、A1には「0」が入っていて A2には「10」が入っていて・・・・ と言う並びだから{0;10;・・・・・}と続いている。 また、対応範囲も同様にB1:B11に入力されている値が「;」で区切られて 羅列されていますよね。 shotaさんが格闘していた式はこの式だったのです。 「○」を表示させるのは「10〜19」だから「10:19」と入力するのでは無いのです。 { 0 ; 10 ; 20 ; 30 ; 40 ; 50 ; 60 ; 70 ; 80 ; 90 ; 100} {"◎";"○";"□";"△";"◇";"▽";"●";"■";"▲";"◆";"▼"} 例えば「○」なら、下段で○が表示されているのは2区画目ですよね。 上段で2区画目は「10」で次の区画の値は「20」ですよね。 この式は、10以上20未満なら「○」を表示しなさい。と、上段二区画1セットで指定するのです。 (何度も書きますが、上段一区画で10:19と指定するのではなく。です) 何で「10〜19」って指定しなくて良いの? と言う部分を説明してくれているのが、ヘルプの“■”を付けた行 「 検査値が見つからないと、検査範囲に含まれている 検査値以下の最大の値が使用されます。」 の部分です。 検査値が“12”だった場合、上段を見ると10の次は20で・・・“12”なんて値無いですよね。 その時は検査値以下の値「10 ,0」の内最大の値「10」が使用されて 計算結果として2区画目の「○」が表示されるのです。 ヘルプの“●”を付けた行を見て、また実際に数式を作ってみて LOOKUP関数の書き方は分かって頂けましたかね? 一番最初のshotaさんの式に立ち戻ると =LOOKUP(C1,{0;9.1;19.2;29.3;39.4;49.5;59.6;69.7;79.8;89.9;99.1},{"◎";"○";"□";"△";"◇";"▽";"●";"■";"▲";"◆";"▼";""}) (正しく作れた関数と整合性を持たせるため検査値がC1に有るように書き換えました。) さっきはセル番地を選んで[F9]を押しましたが、その逆のことをこの式でやってみましょう。 逆と言うのは、先ほどは『A1:A11に入力されている値が「;」で区切られて羅列された』 ので、検索範囲の「;」で区切られた一区画がA1セルから順番に下に 対応範囲も同様にB1セルから順番に下に並べていけば良いんですよね。 [A] [B] [1] 0 ◎ [2] 9.1 ○ [3] 19.2 □ [4] 29.3 △ [5] 39.4 ◇ [6] 49.5 ▽ [7] 59.6 ● [8] 69.7 ■ [9] 79.8 ▲ [10] 89.9 ◆ [11] 99.1 ▼ [12] ↑ここ(B12)は""の部分です。 式は =LOOKUP(C1,A1:A11,B1:B12) になります。 対応表はshotaさんが希望するものと違いますよね。 また、ヘルプの“●”を付けた行の4つ目に出てくる部分 『対応範囲 1 行または 1 列のみのセル範囲を指定します。 対応範囲は検査範囲と同じサイズである必要があります。』 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ この書き方に則ってないですよね。 検査範囲は1〜11行で、対応範囲は1〜12行になっていますから。     ヘルプは見慣れないと本当に何が書いてあるか分かりません。 でも、全て分かる必要は無いのですよ。 「木を見て森を見ず」と言いますでしょ。 ヘルプは森みたいなものだと思っています。 その時に必要な木を森の中から探し出せるかどうかが問題です。 今回は、実際このパターンでLOOKUP関数は有用だと言う確信を持って 「LOOKUP関数を使う!!」と心に決めているので “●”の部分が必要な木にあたると思います。言葉だけではよく分からなければ 下にずらっと続いている「使用例」も有益でしょう。  (「使用例」とは丁度(minmin)さんの過去ログに対応するものです) でもね、最初に躓いた >ちなみに「配列数式」についてはまったくのなぞです。 これは >LOOKUP 関数の形式には、ベクトル形式と配列形式の 2 種類があります。 この部分で引っかかったのかと推測しますが、この部分は分からなくても 関数を使うことは出来るのですよ。  (もちろん妥当な関数を選択していた場合ですが。) shotaさんのその時の状況は、例えば 檜を探して森に入ったのに、最初に目に付いた「始めて見る木」に 心を奪われて、その木の名前や特徴を調べるのに心身を費やしてしまった。 疲れ切ってしまったので檜を見つけられずに森を出た。 様なものだと思います。 ヘルプを見るからには「全てを理解しないと!!」と思っていませんか? 最初にしなければいけないことは「どこが自分に必要か」を見極める事です。 見極める方法を身につけるには、ヘルプはどの様に書いてあるのか が分かることが近道ではないかと、私は思っています。 例えば、どんな森かが分かって檜がどの辺りに存在するのが分かっていれば 他の木に目もくれず目的の木を探し出すことが出来ますよね。 (「檜はどんな特徴の木であるか」も知っておく必要が有りますが。 たとえから外すと、「ヘルプはどんな言い回しをしているか」と言うことです) 短く纏めるつもりだったのに、やっぱり長くなってしまいました。 どこまで私の言葉が通じているのか確認したくて行った質問によって shotaさんに、暗闇の中を行き先も告げずに歩かされているような 不安を感じさせてしまっていたのかもしれません。 本当にごめんなさいね。 HANAは大分しゃべりすぎてしまったようです。 (HANA) ---- はなしが、さらに輻輳しますので、どうしようかと思っていましたが、 コメントさせていただくことにしました。 下の表で、=LOOKUP()を利用するものでは、 D1に=LOOKUP(C1,A1:B11)もよいのでは、ないでしょうか?        (LOOKUP)    A   B   C   D 1   0  ◎  45  ◇ 2   10  ○     ↑ 3   20  □     =LOOKUP(C1,A1:B11) 4   30  △ 5   40  ◇ 6   50  ▽ 7   60  ● 8   70  ■ 9   80  ▲ 10   90  ◆ 11  100  ▼ ---- HANAさん LOOKUPさん ありがとうございます。 HANAさん 頭の悪い私に最後まで付き合ってくれてまことにありがとうございます。 イライラしたことでしょうね。すみませんです。 LOOKUPさん 最後の式ありがとうございます。 また一つ勉強になりました。 こうして相手にしてくださってめっちゃ嬉しいです。 ありがとうございました。 (shota)