ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Excel(エクセル)活用コミュの60以上の数値の場合に60を引く方法

  • mixiチェック
  • このエントリーをはてなブックマークに追加
すみませんが二つほどご指導おねがいいたします


?
数値の合計が「60」以下の場合=値はそのまま返し
数値の合計が「60」以上の場合=値から60引いた数値を返す


?
また、上記の数値が下記の各範囲のどれかに値する文字列を返す

「範囲」=「返す文字列」
1〜10 =?
11〜20 =?
21〜30 =?
31〜40 =?
41〜50 =?
51〜60 =?

エクセルの本、過去トピを見ましたが初心者のためよくわからずトピをあげました。
よろしくおねがいいたします。

コメント(20)

携帯からだとクエスチョンになって見えませんが(^_^;)

一つ目の質問はMOD関数
二つ目の質問はVLOOKUP関数を使えばいいのでは。
質問2は丸数字じゃなくて”カッコ”じゃ駄目なんですかね?
丸付き数字はあまり使わない方が良いかと思います。
カッコでも良いのなら画像の方法で簡単そうです。

ちなみにツールバーの”関数貼付けボタン”は御存じでしょうか?
その機能を眺めているだけでも勉強になりますよ。
おっと書き込んでいる間に・・・。(^_^;)
(1)のほう、60の場合はどう処理するんでしょうか?
60以上かつ60以下であるわけですが、60は。

(1)はIF関数で簡単に実現できますので、
エクセルの本のIF関数のページを読んでください。
60の扱いが問題となりますので,「60未満と60以上」なのか「60以下と60を越えたもの」なのか,どちらかを提示して下さい〜
みなさんありがとうございます

返すものは丸数字でなくてもかまわないです。
わかりやすくしたつもりでしたが失敗でした。

数値の合計が「60」より多い場合=値から60引いた数値を返す

です。混乱させてすみませんでした。

ツールバーの”関数貼付けボタン”はしっています。
いろいろと探してみましたが、知識不足でよくわかりませんでしたたらーっ(汗)
1つ目はできました。ありがとうございます

2つ目はまだわかりません・・・
if関数やvlookup関数を使えばできますか?

「範囲」=「返す文字列」
1〜10 =A
11〜20 =B
21〜30 =C
31〜40 =D
41〜50 =E
51〜60 =F





>if関数やvlookup関数を使えばできますか?
できます。
Excel 表からデータを検索する(VLOOKUP関数)
http://www.pursue.ne.jp/Document_xls/xls0012.htm

今回のトピ主さんの事例だと,商品コードに当るものが1〜60の数字,
商品名がA〜Fにあたるわけです。

1 A
2 A
3 A
4 A
5 A
6 A
7 A
8 A
9 A
10 A
11 B
12 B
13 B

…以下60まで続く

2列を使って,このようにすればいいのです。
ちょっと勉強になるように,あまり詳しくかきませんが,頑張ってください!
>マイケル・アベットさん
検索の型をTRUEにすれば、
この場合そんなに細かく対応表を作る必要はありませんよ。

1 A
11 B
21 C
31 D
41 E
51 F

で充分です。
与えられた条件では、合計が0の場合の結果が不定です。
あと、120を超える場合の振る舞いも不定。61以上でいいのか常に1から60をとるのか(じゃあ0は)
EXCELで数式書く前にやりたいことを正確に把握するようにしないと作れるものも作れませんよ

あと、1つめが「できました」と書かれても、11の書き方ではどういう風にできたのかあなたにしかわかりませんよ

■おそらく答え
=INDIRECT("DATA!R"&(FLOOR(MOD(SUM(合計算出範囲)-1,60)+1,10)/10)+1&"C2",FALSE)

あとは必要なデータを数式で参照してる場所におけばOKです


■あとはエスパー(ピンと来なかったらきっと関係ないです。その場合は無視して下さい)

□時刻のシリアル値から分を取得
* 60分までの範囲で取り出す
=MINUTE(時刻)
* 60分以上も取り出す
=VALUE(TEXT(時刻,"[m]"))

□時刻のシリアル値から時間を取得
* 24時間までの範囲で取り出す
=HOUR(時刻)
* 24時間以上も取り出す
=VALUE(TEXT(時刻,"[h]"))

□時刻や時間クサい文字列(ex "02:30")から時刻のシリアル値を取得
=TIMEVALUE(クサい文字列)

□時刻クサいのを一気に合計
{=SUM(TIMEVALUE(クサい文字列の範囲))}

※数式バーに
=SUM(TIMEVALUE(クサい文字列の範囲))
を入力して編集モードのまま
CTRL+SHIFT+ENTER
(配列数式)
15の虎次さんのご指摘について、

わたしはvlookupを使う時、いつも検索の型をfalseにしていました。というのがtrueにする場面なんか絶対にない、と思っていたからです。

なるほど、この事例では、falseにすべきではありませんね。

参考になりました。
みなさまありがとうございました。

1 A
2 A
3 A
4 A
5 A
6 A
7 A
8 A
9 A
10 A
11 B
・・・

を作り、60=0として考えてVLOOKUP関数を使って求めることができました。

こんな単純なことを忘れていました。。

お手数お掛けしました。
ありがとうございました。
解決されたようでよかったです。
ちなみに、VLOOKUPを使わずとも、以下の式で2つ目は実現できます。

=CHOOSE(INT((A1-1)/10)+1,"A","B","C","D","E","F")
虎次さん>
目からウロコでした!
ありがとうございました!

ログインすると、残り4件のコメントが見れるよ

mixiユーザー
ログインしてコメントしよう!

Excel(エクセル)活用 更新情報

Excel(エクセル)活用のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。