テストの点数で、初めて40点を下回ったときの日付と、初めて80点を越えた時の日付を返すような関数を組みたいのですが、どうやればいいか分かりません。MATCH関数を使うような気がするのですが、そこから先が分かりません。
例)
1月1日 43点
1月2日 83点
1月3日 81点
1月4日 26点
・・・
この例であれば、80点を初めて越えるのは「1月2日」、
初めて40点を下回るのは「1月4日」という形で答えを返したいのですが、どなたかお知恵を貸してください。よろしくお願いします。
No.2ベストアンサー
- 回答日時:
◆こんな方法はいかがでしょう
>80点を初めて越えるのは「1月2日」
D2=MIN(INDEX((B2:B10<=80)*10^5+A2:A10,))
>初めて40点を下回るのは「1月4日」
D5=MIN(INDEX(((B2:B10>=40)+(A2:A10=""))*10^5+A2:A10,))
ありがとうございます。
私が理想にしていた形そのものです。
質問なのですが、INDEX関数内で範囲を指定して掛け算、足し算まで入っていて、この関数の意味するところが良く理解できません。
この部分についても教えていただけないでしょうか?
よろしくお願いいたします。
No.6
- 回答日時:
>INDEX関数内で範囲を指定して掛け算、足し算まで入っていて、この関数の意味するところが良く理解できません。
1)((B2:B10>=40)+(A2:A10=""))*10^5 は40未満のデータを排除しています
2)「B2:B10の40以上」または、「A2:A10が空白」に10^5(100000)を掛けます
3)数式バーのうち、((B2:B10>=40)+(A2:A10=""))*10^5 の部分を指定して、「F9」をクリックします
4){100000;100000;100000;0;0;100000;100000;100000;100000} になり、B列40以上、A列空白が「100000」になっています
5)それに、A2:A10 を足しますと
6)数式バーのうち、((B2:B10>=40)+(A2:A10=""))*10^5+A2:A10 の部分を指定して、「F9」をクリックします
7){139814;139815;139816;39817;39818;100000;100000;100000;100000} になり、これのMINは「39817」になります
8)「39817」はシリアル値なので、表示形式を「日付」にすると、「1月4日」になります
ありがとうございました。大変ためになりました。
F9キーの使い方まで教えていただき、大変感謝です。
本当にありがとうございました。
No.5
- 回答日時:
80点以上の行で、行番号の最小の行の日付、を求める。
配列数式ですが
例データ
2月3日23
2月14日45
2月25日82
3月4日81
4月4日34
4月7日89
=INDEX(A1:A8,MIN(IF(B2:B8>80,ROW(B2:B8),99)))
と入れて、SHIFT+CTRL+Enterを同時押し。
99はこのデータではありえない行数を入れる。
結果
2009/2/25 (このセル書式は日付に設定)
ーー
作業列を使うなら
A2:B7 にデータ
A列 B列 C列
2月3日23
2月14日45
2月25日821
3月4日81
4月4日34
4月7日89
C列は
=IF(COUNTIF($B$2:B2,">80")=1,1,"")
求める日付は
=INDEX(A2:A8,MATCH(1,$C$2:$C$8,0),1)
(このセル書式は日付に設定)
ーーー
下回った日も上記式を
初出だからMIN、点数判定部部分を<40に変えることで出来ると思います。
ありがとうございます。配列数式という方法があるんですね。
話には聞いていたんですが、こういうときに使うんですね。
あまり馴染みがなっかたので、今後覚えていこうと思います。
ありがとうございました。
No.4
- 回答日時:
作業列を使った方法を紹介します。
データがAおよびB列の2行目から下方にあるとします。
C2セルには次の式を入力して下方にオートフィルドラッグします。
=IF(B2="","",IF(COUNTIF(B$2:B2,"<="&40)=1,"A",IF(COUNTIF(B$2:B2,">="&80)=1,"B","")))
最初に40点以下となった行にAが、80点以上になった行にBが表示されます。
たとえばD2セルに40点以下となった日、D3セルに80点以上になった日と入力し、E2セルには次の式を
=INDEX(A:A,MATCH("A",C:C,0))
E3セルには次の式を入力します。
=INDEX(A:A,MATCH("B",C:C,0))
なお、E2およびE3のセルの表示形式は日付にします。
いずれの式も列を対象にしていますのでデータが次々に入力されても即座に対応できます。
なお、MATCH関数を検討したことでしょうが何点以上とか、何点以下とかの形で式をたて使うことができません。点数を昇順や降順で並べ替えをしたうえで使うことができなくもないですが、元のデータを並び替えるなど操作が面倒になりますね。
ありがとうございます。やはり作業列を使うのがスマートのようですね。
MATCH関数を使おうかと思ったんですが、KURUMITOさんのおっしゃるとおり、昇順並び替えの必要などがあり、あまり実用的なものにならず困っていました。。。
ありがとうございました。
No.1
- 回答日時:
こんばんは!
色々方法はあると思いますが・・・
一例です。
↓の画像のような感じで作業列を使っています。
C2セルに
=IF(OR(B2="",B2<=80),"",ROW(A1))
D2セルに
=IF(OR(B2="",B2>=40),"",ROW(A1))
という数式をいれて、C2・D2セルを範囲指定した後に
C2セルのフィルハンドルで下へオートフィルでコピーします
(とりあえず100行まで対応できる数式にしていますので、100行までオートフィルでコピー)
そしてF2セルに
=INDEX($A$2:$A$100,SMALL(C$2:C$100,1))
と入れてG2セルまでオートフィルでコピーします
(セルの書式設定から表示形式は「日付」で・・・)
これで何とか希望に近い形にならないでしょうか?
以上、参考になれば幸いですが、
他に良い方法があれば読み流してくださいね。m(__)m
ありがとうございます。作業列を使えばいいんですね。
なんとか関数だけで完結させようとしてたので、
今後はこういうやり方も考えるようにしたいと思います。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
好きなおでんの具材ドラフト会議しましょう
肌寒くなってきて、温かい食べ物がおいしい季節になってきましたね。 みなさんはおでんの具材でひとつ選ぶなら何にしますか? 1番好きなおでんの具材を教えてください。
-
家・車以外で、人生で一番奮発した買い物
どんなものにお金をかけるかは人それぞれの価値観ですが、 誰もが一度は清水の舞台から飛び降りる覚悟で、ちょっと贅沢な買い物をしたことがあるはず。
-
メモのコツを教えてください!
メモを取るのが苦手です。 急いでメモすると内容がごちゃごちゃになってしまったり、ひどいときには全く読めない時もあります。
-
この人頭いいなと思ったエピソード
一緒にいたときに「この人頭いいな」と思ったエピソードを教えてください
-
架空の映画のネタバレレビュー
映画のCMを見ていると、やたら感動している人が興奮で感想を話していますよね。 思わずストーリーが気になってしまう架空の感動レビューを教えて下さい!
-
エクセルで左から、最初に0より大きい値を抽出したい
Excel(エクセル)
-
初めて0以外の数値が出てきたときの値を表示(EXCEL)
Excel(エクセル)
-
EXCELで、指定の値を最初に越えたときの値と、その隣のセルの値を参照したい
Excel(エクセル)
-
-
4
エクセルシート内のある数値以上の最初のセルを検索したい
Excel(エクセル)
-
5
Excelでエラー(#N/Aなど)値を含む範囲で最大値や最小値をもとめ
その他(Microsoft Office)
-
6
条件に合った最初の行番号を表示したい。
Excel(エクセル)
-
7
エクセルの表で一定の数量を超える前までの合計を算出することを繰り返す方法
Excel(エクセル)
-
8
エクセル2010 グラフの軸の最大値最小値をセル参照する
Excel(エクセル)
-
9
エクセルの数値がある一定の数値を越えたらO.K.と表示したい。
Excel(エクセル)
-
10
列内の最初に現れる数字の入った行番号を知りたい
Excel(エクセル)
-
11
EXCELでマイナス値の入ったセルの検索
Excel(エクセル)
-
12
EXCELにてローパスフィルタを作成する
その他(教育・科学・学問)
-
13
Excelで、条件と一致する最後のセルを検索したい
Excel(エクセル)
-
14
EXCELでコピーしたグラフのデータ範囲変更について
Excel(エクセル)
-
15
エクセルで、条件に合うセルのうち最も上の行の行数を返す方法
Excel(エクセル)
-
16
エクセルでハイパスフィルタをかけたいのですがどのようにすればよいですか?
工学
-
17
EXCELの近似曲線で対数近似、指数近似が選べない
Excel(エクセル)
-
18
一列に並んでいる大量のデータを10個ずつ平均(A1~A2000まである
Excel(エクセル)
-
19
エクセルで空白を無視して一番左にあるセルを参照したい
Excel(エクセル)
-
20
Excel累積が規定数を超えたらまたゼロから累積
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SUMIF関数で、「ブランク以外を...
-
自分の左隣のセル
-
excelで、空白を除いてデータを...
-
エクセル1行おきのセルを隣の...
-
エクセルで、A2のセルにA3...
-
エクセルで特定のセル内にだけ...
-
EXCELのcountif関数での大文字...
-
エクセルで、指定の値よりも大...
-
文字列から英数字のみを抽出す...
-
同一セル内の重複文字を削除し...
-
セルを結合した時のエクセル集...
-
EXECL バーコード生成でBarCode...
-
何時から何時までを○○、何時か...
-
エクセルで出勤シフト表中の数...
-
Excelで大量のセルに一気に関数...
-
EXCELでマイナス値の入ったセル...
-
一時間当たりの製造数を調べた...
-
エクセルでコメントをセルデー...
-
セルの結合がされた表をHLOOKUP...
-
エクセルで何曜日が一番多いか...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
文字列から英数字のみを抽出す...
-
SUMIF関数で、「ブランク以外を...
-
エクセル1行おきのセルを隣の...
-
自分の左隣のセル
-
エクセルで、指定の値よりも大...
-
エクセルで特定のセル内にだけ...
-
セルを結合した時のエクセル集...
-
同一セル内の重複文字を削除し...
-
エクセルで、A2のセルにA3...
-
EXCELでマイナス値の入ったセル...
-
EXCELのcountif関数での大文字...
-
条件付き書式の色付きセルのカ...
-
excelで、空白を除いてデータを...
-
エラー「#REF」の箇所を置き換...
-
Excelで大量のセルに一気に関数...
-
週の労働時間を計算するエクセル
-
エクセルで年月日から月日のみへ
-
一時間当たりの製造数を調べた...
-
【Excel】4つとばしで合計する方法
-
EXECL バーコード生成でBarCode...
おすすめ情報