「忠犬もちしば」のAIボットを作ろう!

上のセルから順番に105を足した数値を入力したいのですが
セルの数値が260を超える時はそこから260引いた値を表示させたいです。
(基本的に261以上になることはない)

現在は
H2+SUM(105)−(260)
もしくは
H2+SUM(105)
という感じでセルによって計算式をコピぺしながら使っているのですが、
この計算式をまとめることはできますか?

Excelはあまり詳しくないので、一番簡単な形で教えていただきたいです。
宜しくお願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

またまたお邪魔します。



No.3の
>もうひとつ、I2のセルに入っている数字を基準に、順番に1づつ足した数字を表示させたいのですが、13を超えた場合はまた1に戻りたいのですが、(数字の表示は1から13まで)

の件について、
No.3の数式そのままでMOD関数の「除数」を変えるだけで対応できるはずです。

=IF(MOD(I$2+ROW(A1),13),MOD(I$2+ROW(A1),13),13)
としてフィルハンドルで下へコピーしてみてください。

※ ROW(A1)の意味がよくわからないので・・・
試しにどこか使っていないセルに
=ROW(A1)
としてみてください。
「1」が表示されるはずです。
(列番号はA列でなくてもZ列でもどこの列番号でも構いません、単純にA列にしているだけです)

これをフィルハンドルで下へコピーしてみてください。
数式バー内で確認してもらうと
=ROW(A2) → =ROW(A3)・・・
となり、2・3・4・・・と順に表示されます。
詳しくは「ROW関数」で調べてみてください。

この際ですので、COLUMN関数も同じ使い方(列方向へフィル&コピーした場合)
になりますので、
COLUMN関数も調べてみてはどうでしょうか?m(_ _)m
    • good
    • 1
この回答へのお礼

何度もご丁寧に教えてくださり本当にありがとうございます。
教えて頂いた関数をコピぺして入力したところ、うまく変換できました!!
ずっとできなくて悩んでいたので、こちらで質問してみて本当に良かったと思って感激してます。

関数・・・全くよくわかっていないので、少しづつ勉強していきたいと思います。
ありがとうございました。

お礼日時:2016/02/12 18:22

続けてお邪魔します。



細かい検証をしていませんでした。ごめんなさい。
少し式が長くなりますが

=IF(MOD(H$2+105*ROW(A1),260),MOD(H$2+105*ROW(A1),260),260)

としてみたらどうなりますか?m(_ _)m
    • good
    • 3
この回答へのお礼

何度も教えてくださってありがとうございます。
上記計算式を入力したところ無事にできました!!
感激です☆
本当にありがとうございます!!

もうひとつ、I2のセルに入っている数字を基準に、順番に1づつ足した数字を表示させたいのですが、13を超えた場合はまた1に戻りたいのですが、(数字の表示は1から13まで)

上記関数を参考に作ると
=IF(MOD(I$2+1*ROW(A1),13)
なのかな??と思ってやってみましたが、うまく表示されませんでした。
ROW(A1)の意味がよくわからないので、そこが原因でしょうか?
もし宜しければ教えて頂けると幸いです。
どうぞ宜しくお願い致します。

お礼日時:2016/02/12 09:17

No.1です。



大きな勘違いをしていました。

>上のセルから順番に105を足した数値を入力したいのですが・・・
というコトですのでH2セルが基準なのですね?

=MOD(H$2+105*ROW(A1),261)
としてフィルハンドルで下へコピー!

こんな感じをお望みなのでしょうか?m(_ _)m
    • good
    • 2
この回答へのお礼

早速のご回答ありがとうございます。
H2の数値が基準となって下のセルに行く毎に105づつ足していくのですが、数値は260までなので、105足した数が例えば300だったらそこからまた260引いて40と表示させたいのです。
tom04さんが記載してくださった関数をはりつけてみましたが、「0」という結果が出てしまいました。数値は1〜260までの表示にしたいのですが・・・。

お礼日時:2016/02/12 00:06

こんばんは!



H列の2行目以降を順に足し算するとします。
表示したいセルに
=IF(H2="","",MOD(SUM(H$2:H2),261))
としてフィルハンドルで下へコピー!

こんな感じではどうでしょうか?m(_ _)m
    • good
    • 1

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルの数値がある一定の数値を越えたらO.K.と表示したい。

エクセルで表を作っていたのですが、その最後にOKかNOか判断しなければいけない欄があるのです。
たとえば、1以上になったときにその横の欄にOKと表示させ、1以下の時にはNOと表示させるような関数とか命令はあるのでしょうか?。
マクロを使えば出来るのでしょうが当方なにぶんあんまりエクセルには詳しくないので出来るだけ簡単に出来る方法があれば教えてください。

Aベストアンサー

IF関数を使って簡単に実現できます。

例えばA5のセルの中身が100以上であればOKと表示しそれ以下であればNOと表示すると仮定しますと、

=IF(A5>=100,"OK","NO")

となります。 ダブルクオーテーションの中は表示したい文字列であれば何でも結構です。

Qある一定時間を超えた場合の超えた時間のみを合計する方法をご存知でしたら

ある一定時間を超えた場合の超えた時間のみを合計する方法をご存知でしたら教えてください。
例えば、1日8時間労働を8.0として、その8.0を越える日の8.5だったら8.5-8.0=0.5の0.5の部分の月の合計=残業分の合計を出したいと考えています。
A列に氏名があり、B列~AF列まで1日~31日の労働時間が入力されているdateが40人分あります。
AG列に式を、入力するとすると
8.0を超える時間の合計を出すには=SUMIF(A1:AF1,">8.0",A1:AF1)でもとめられますが、
8.5と入力されていた場合の0.5部分の月の合計を算出するにはどうすればよいでしょうか。
宜しくお願い致します。

Aベストアンサー

いくつかあると思いますが、
 
=SUMPRODUCT((A1:AF1>8)*(A1:AF1-8))

これでもできそうです。
 
 

Qエクセルで、セルの中の値が規定値以上の場合に自動で色を付ける方法

こんにちは。

今仕事でエクセルを使って集計しているのですが、入力した値が、例えば50以上だった場合自動的に色がつくようにしたいのですが、どのようにすればよいでしょうか?

また、例えばセルの値が、そのセルのすぐ上の値より大きかった場合や小さかった場合に、自動的に色をつけることはできますか?

わかりにくい文章で申し訳ありません。
よろしくお願い致します。

Aベストアンサー

>例えば50以上だった場合自動的に色がつくようにしたいのですが
「書式」「条件付き書式」で「セルの値が」「次の値以上」「50」で書式ボタンを押し色を設定
>そのセルのすぐ上の値より大きかった場合(A2セルの場合)
「書式」「条件付き書式」で「セルの値が」「次の値を超える」「=A1」で書式ボタンを押し色を設定
※「数式が」「=A2>A1」でもOK
>そのセルのすぐ上の値より小さかった場合(A2セルの場合)
「書式」「条件付き書式」で「セルの値が」「次の値未満」「=A1」で書式ボタンを押し色を設定
※「数式が」「=A2<A1」でもOK

Qエクセル:一定以上の数値になると文字色を変える関数

エクセルの関数で、一定以上の数値は文字色が変わるような関数はありますか。
例えば、10以上だと赤い字で表示したい場合、1-9は黒、でも12は赤文字
で表示するようなイメージです。

Aベストアンサー

「文字の色」を変えたい場合,

・セルを右クリックして書式設定の表示形式のユーザー定義を選び
[>=10][赤]0;0
としてOKする

・セルを選んで書式メニューの条件付き書式で
セルの値が 次の値以上 10
で書式ボタンで赤い文字にする

のどちらでもできます。
両方を使った場合,条件付き書式が優先します。
また条件付き書式で別の条件を重ねて,たとえばセルの塗り色で更に仕分けるような事も出来ます。

#実際これは2003までのExcelで,条件付き書式の制約である3パターン(+地の1パターン)までしか書式を表現できないのを唯一拡張できる方策です。

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Qエクセルで、指定の値よりも大きい数字を最初に越えたときの列番号を返すには?

テストの点数で、初めて40点を下回ったときの日付と、初めて80点を越えた時の日付を返すような関数を組みたいのですが、どうやればいいか分かりません。MATCH関数を使うような気がするのですが、そこから先が分かりません。

例)
1月1日  43点
1月2日  83点
1月3日  81点
1月4日  26点
・・・
この例であれば、80点を初めて越えるのは「1月2日」、
初めて40点を下回るのは「1月4日」という形で答えを返したいのですが、どなたかお知恵を貸してください。よろしくお願いします。

Aベストアンサー

◆こんな方法はいかがでしょう
>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,))

QExcel累積が規定数を超えたらまたゼロから累積

言葉でうまく説明できないゆえ検索もままならず,ここで質問させていただきます。お願いいたします。
Excel2007です。理想図を添付しましたので,それに従い説明いたします。

A列に数値が入っています。1000行ほどあります。
それらの数値を上から順にA1+A2+…と加算していき,500になったらその行のB列にその合計を記入し,一旦ゼロにリセットし次のA列の行(添付の図ではA6)からまた加算を始め,500になったらその行のB列に合計を記入し…ということを,A列の数値が終わるまで繰り返す,という作業を行いたいと思います。
また,合計数がちょうど500になることはまれなので,近似のセルをとるようにします。例えば添付画像において,A5の段階での合計は480で,A6になると635ですので,A5のほうが500に近いためそのセルで区切ります。

関数でもマクロでもかまいません。
何かしらのヒントでもいただければと存じます。
よろしくお願いいたします。

Aベストアンサー

こんばんは!

VBAでの一例です。
データは1行目からあるとします。

Sub Sample1()
Dim i As Long, myVal1, myVal2
Range("B:B").ClearContents
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
myVal1 = myVal1 + Cells(i, "A")
myVal2 = myVal1 + Cells(i + 1, "A")
If myVal1 <= 500 And myVal2 > 500 Then
If 500 - myVal1 <= myVal2 - 500 Then
Cells(i, "B") = myVal1
Else
Cells(i + 1, "B") = myVal2
i = i + 1
End If
myVal1 = 0
End If
Next i
End Sub

こんな感じではどうでしょうか?

※ データが2行目以降にある場合は
>For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
の「1」の部分を「2」に変更してみてください。m(_ _)m

こんばんは!

VBAでの一例です。
データは1行目からあるとします。

Sub Sample1()
Dim i As Long, myVal1, myVal2
Range("B:B").ClearContents
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
myVal1 = myVal1 + Cells(i, "A")
myVal2 = myVal1 + Cells(i + 1, "A")
If myVal1 <= 500 And myVal2 > 500 Then
If 500 - myVal1 <= myVal2 - 500 Then
Cells(i, "B") = myVal1
Else
Cells(i...続きを読む

Qエクセルで条件に一致したセルの隣のセルを取得したい

下のような「得点」という名前のシートがあります。
(「田中」のセルがA1です。)

 [ 田中 ][ 10 ][ 200 ]
 [ 山田 ][ 21 ][ 150 ]
 [ 佐藤 ][ 76 ][ 250 ]
 [ 鈴木 ][ 53 ][ 350 ]

別のシートのA1セルに、「佐藤」と入力すると、

 [ 佐藤 ]

「得点」シートから「佐藤」の列を見つけて、B1、C1に

 [ 佐藤 ][ 76 ][ 250 ]

のように表示させたいのですが、B1、C1にはどのような式を書けば良いのでしょうか。
「得点」シートでは氏名が重複する事はありません。
IF文を使うと思うのですが、いまいち良く分かりませんでした。

よろしくおねがい致します。

Aベストアンサー

こんにちは!
VLOOKUP関数で対応できます。
IF関数と併用すればエラー処理が可能です。

Excel2007以降のバージョンであれば
B1セルに
=IFERROR(VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0),"")
としてC1セルまでオートフィルでコピー!
そのまま下へコピーすると行が2行目以降でも対応できます。

Excel2003までの場合は
=IF($A1="","",VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0))

としてみてください、m(_ _)m

Qエクセルである数値を超えたら赤で表示じエラーメッセージの方法

エクセルで出勤管理表を作成しています。
COUNTIFを使用して、休みの数を計算していますが、
9日を超えた場合に、その数値を赤表示し、
エラーメッセージも出したいと考えていますが
やり方をご存知のかたお願い致します。

Aベストアンサー

休みの値が表示されるセルを選択した状態で、[書式]→[条件付き書式]で
[セルの値が] [次の値以上] [9  ]
にして、[書式]ボタンを押します。
[フォント]タブの色を赤にして、[OK]
条件付き書式のウィンドウも[OK]
で良いですね。

Qある範囲のセルから任意の値を検索して、その隣のセルの値を取得するという関数はありますか?

Excelの関数について質問します。
ある範囲のせるを検索して、その隣のセルの値を取得するという関数を探しています。
なければユーザー定義で作りたいと思っています。
VLOOKUP関数では一番左端が検索されますが、
それをある範囲まで拡張して、
その右隣の値を取得できるようにしたいのです。
どうかお知恵をお貸しください。

Aベストアンサー

●X1セルの値を範囲A1:F200の中から探して、その右隣のセルの値を返す

 =OFFSET(A1,SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1))-1,SUMPRODUCT(COLUMN(A1:F200)*(A1:F200=X1)))

※最初のA1はワークシートの左上隅を示すものなので、検索範囲に関わらずA1固定
※SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1)) ⇒ A1:F200で値がX1と一致するセルの行番号

>その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
というのが前提です。複数のセルがHITすると関係ないセルの値が返るので、
場合によっては、IFをかぶせてCOUNTIFで確認した方が良いかもしれません。
 ex. =IF(COUNTIF(A1:F200,X1)=1,【上記数式】,"えらー")

ちなみに、VBAでやるならこんな感じになるかと。

動作の概要
 【検査範囲】から【検査値】を探し、
 最初にHITしたセルについて、右隣のセルの値を返す。
 ex. =Sample(X1,A1:F200)

'--------------------------↓ココカラ↓--------------------------
Function Sample(ByVal 検査値 As Variant,ByVal 検査範囲 As Range)
 For Each セル In 検査範囲
  If セル = 検査値 Then Exit For
 Next セル
 Sample = セル.Offset(0, 1)
End Function
'--------------------------↑ココマデ↑--------------------------

いずれもExcel2003で動作確認済。
以上ご参考まで。

●X1セルの値を範囲A1:F200の中から探して、その右隣のセルの値を返す

 =OFFSET(A1,SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1))-1,SUMPRODUCT(COLUMN(A1:F200)*(A1:F200=X1)))

※最初のA1はワークシートの左上隅を示すものなので、検索範囲に関わらずA1固定
※SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1)) ⇒ A1:F200で値がX1と一致するセルの行番号

>その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
というのが前提です。複数のセルがHITすると関係ないセルの値が返るので、
場...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング