ここから質問投稿すると、最大4000ポイント当たる!!!! >>

Excelの関数で、下記のように報告値が自動で表示されるようにしたいです。
基本的には有効数字2桁表示なのですが、A列に入力した下限値の桁までの表示にしたいです。3行目、4行目のように有効数字1桁の場合もあります。5行目のような場合もあります。1日もがいてみましたが、どなたかご教授頂けたら大変助かります。

「Excelの関数で、下記のように報告値が」の質問画像

A 回答 (6件)

No.4の回答者です。


No.5の回答者さんが指摘しているように、報告値で表示をする桁の
問題だと思います。

No.4の回答では、報告値に合わせるために強引な条件付き書式での
表示をしているので、計算値の0.995283を小数点一桁の1.0と表示
するようにしていますが、[下限値の桁数]での増減によって条件が
変わるので、ROUND関数での桁数の指定と条件付き書式での桁数の
指定がずれると丸める値の桁数が違うので1.00の表示になるのです。

> 数式の100を1000にしてみましたが
これについても、報告値をもとに下限値桁数に応じた10のべき乗を
使っていますが、下限値が3桁の場合に1000を使うと0.995をもとに
条件付き書式で判断するので、1以下として処理されます。

添付画像の[下限値の桁数に応じた報告値]のように、条件付き書式
設定なしでの数値を見てもらえば理解できると思います。
(C列の計算式と条件付き書式は、No.4の回答にあるもの)

[下限値の桁数に応じた報告値]列での数式
 =IF(B7<A7,"<"&A7,ROUND(B7*10^G7,IF(INT(B7)=0,0,LEN(INT(B7))*-1))/10^G7)

[下限値の桁数]列での数式
 =LEN(A7)-FIND(".",A7)

報告値の表示桁数をどのように処理するかを、もっと検証しないと
丸めの値が変わってくるので、質問者自身が判断してください。
「Excelの関数で、下記のように報告値が」の回答画像6
    • good
    • 0
この回答へのお礼

ありがとうございます。大変勉強になります。計算値が0.1045以上の場合、下限値の桁数-1にすることで対応できました。

お礼日時:2019/04/09 23:52

=IF(B2<A1,"<"&A2,VALUE(TEXT(B2,"0.0E+00")))


ではダメでしょうか。

TEXT関数で値を有効桁2桁で指数表記の文字列にしたうえで、
VALUE関数で標準表記に戻すという事です。

桁数は「セルの表示形式」で指定します。
まず、
 1未満なら小数点以下2桁で、
 [<1]0.00
 10未満なら小数点以下1桁で、
 [<10]0.0
 それ以外は標準で、
 G/標準
という事なので、
ユーザー書式として、
 [<1]0.00;[<10]0.0;G/標準
こんな感じに指定します。

そもそも標準の表示形式で「1」を「1.0」とは表示できません。
    • good
    • 0
この回答へのお礼

ありがとうございます。
参考になります。
取り急ぎ御礼まで。

お礼日時:2019/04/09 23:47

複数の条件での検証をしていませんが。


こちら↓のようなもので対応できませんか?
 =IF(B2<A2,"<"&A2,ROUND(B2*100,IF(INT(B2)=0,0,LEN(INT(B2))*-1))/100)

表示形式は、条件付き書式で10未満なら小数点一桁に、1未満なら
小数点二桁で表示させます。
「Excelの関数で、下記のように報告値が」の回答画像4
    • good
    • 0
この回答へのお礼

ありがとうございます。大変助かりました。ただ、下限値を0.002にした場合、数式の100を1000にしてみましたが、うまくいきません。計算値が0.9952の時、1.0とならずに1.00となってしまいます。
ご教授頂けたらと思います。

お礼日時:2019/04/08 20:28

再度 済みません、


誤記が ありますね、

お詫びの上 訂正させて、
ください。


現行、
難い通りの値を 出すために、

改訂後、
課題通りの値を 出すために、
            以上、

済みませんでした。
    • good
    • 0
この回答へのお礼

早々にご返信ありがとうございます。参考にさせていただきます。

お礼日時:2019/04/08 19:49

おっと!!


グラフ 忘れました、

済みません。
「Excelの関数で、下記のように報告値が」の回答画像2
    • good
    • 0

セルB6の 0.945521


ですが、

間違えてませんか?


添付グラフは、
難い通りの値を 出すために、
何桁目を 対象に、
扱えは 良いかを、
グラフ化した ものですが、

一カ所だけ 突出してますよね、

其の突出部が B6なのですが、
変ですよね?


此の値だけ 変われば、
y=-χ^(6/10)+n
位を 整数化すれば、
合いそうな ものですが。


もし、
セルB6を
此のまま 再現しなければ、
ならないなら、

高次関数の カーブと、
なる気が します。


ですので、
どんな時 突出すべきかの、
情報不足かも 知れません。


如何ですか?
    • good
    • 0

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

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

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

Qエクセル リストと完全一致するセルに色をつける

シート1のA列とB列に
aaa ccc
bbb ggg
ccc kkk
ddd ooo
と言うリストがあって、A1〜A4はAチーム、B1〜B4まではBチームと名前を付けています
シート2にAチームのリスト4個が続いているものがあればセルを赤、Bチームのリスト4個が続いているものがあればセルを黄色に塗りたいです
AチームとBチームの中には同じ品番がある時もあります
条件付き書式で設定は出来るでしょうか?

Aベストアンサー

(´・ω・`)
”○” の数を数えるんじゃないんだよなあ。

・・・本題・・・

条件付き書式ですよね。

シート2のリストの並び順は
 aaa
 ccc
 bbb
 ddd
では「Aチーム」と認識しないという事でよろしいでしょうか?
ならば、とても簡単です。

シート2の一覧において、

 判定するセル1
 判定するセル2
 判定するセル3
 色を付けるセル
 判定するセル4
 判定するセル5
 判定するセル6

という範囲について調べれば良いという事。

 判定するセル1
 判定するセル2
 判定するセル3
 色を付けるセル

 判定するセル2
 判定するセル3
 色を付けるセル
 判定するセル4

 判定するセル3
 色を付けるセル
 判定するセル4
 判定するセル5

 色を付けるセル
 判定するセル4
 判定するセル5
 判定するセル6

の4パターンについてそれぞれ調べれば良いだけ。

自分なら
 aaa-bbb-ccc-ddd
のようにシート1から文字列を作り、それが調べるセルで同じパターンになるかを調べます。
シート1はA5セルから、シート2はA11セルからデータが入力されているなら、

 シート1!A5 & シート1!A6 & シート1!A7 & シート1!A8 = A11 & A12 & A13 & A14
 シート1!A5 & シート1!A6 & シート1!A7 & シート1!A8 = A12 & A13 & A14 & A15
 シート1!A5 & シート1!A6 & シート1!A7 & シート1!A8 = A13 & A14 & A15 & A16
 シート1!A5 & シート1!A6 & シート1!A7 & シート1!A8 = A14 & A15 & A16 & A17

という条件になる。
この4つのうちの一つでも条件を満たせばセルに赤色を付ければいい。
「Bチーム」についても同様にすればいいので、
この場合、8つの条件式を設定することになります。

面倒でもこの考え方ができていないと、ちょっと条件が変わっただけで対処できずに終わります。
冒頭で「並び順」について書きましたが、並び順がシート1のリストの通りでなくとも色を付けたい場合でも、この考え方は必要ということです。

・・・
ちなみに厄介なのが、どちらのチームにも「ccc」がいるというところかな。
これが無ければ違う方法でシンプルにできるんですけどねえ。

(´・ω・`)
”○” の数を数えるんじゃないんだよなあ。

・・・本題・・・

条件付き書式ですよね。

シート2のリストの並び順は
 aaa
 ccc
 bbb
 ddd
では「Aチーム」と認識しないという事でよろしいでしょうか?
ならば、とても簡単です。

シート2の一覧において、

 判定するセル1
 判定するセル2
 判定するセル3
 色を付けるセル
 判定するセル4
 判定するセル5
 判定するセル6

という範囲について調べれば良いという事。

 判定するセル1
 判定するセル2
 判定するセル3
 色を付け...続きを読む

Q【関数】複数条件に応じてポイントをつけたい

お世話になっております。

条件によってポイント付与する数式を組みたいのですが
条件が複雑で、どのような関数を組めば良いか、関数の知識も乏しく頭を悩ませております。
詳しい方教えて頂けないでしょうか?

K列 担当者ID
L列 計画
M列 実績
N列 達成率
O列 達成額/未達額
P列 ポイント付与欄

上記のようなデータがあります。

下記条件で、O列「達成額/未達額」の降順にポイントを付与したいです。
その際、下記の条件でポイントを付与したいのです。

ポイント集計先
①黄色セル K5~K18:担当者ID
➁赤色セル K4:部門コード
※画像添付いたします。

ポイント付与条件別表
黄色セル E列:担当者ID ※上記①と紐づく
ピンクセル F列:担当者に紐づく主担当部門コード ※上記➁と紐づく
※補足へ画像添付いたします。

★条件★
・基本
O列
①「達成額/未達成額」が0以上なら降順に10Pからポイント付与
➁「達成額/未達成額」が0orマイナスならポイント付与せず
※ただし、マイナスでも実績があればポイント付与

上記、基本条件に加えて、下記条件も組み込みたいです。
①担当者ID+主担当部門コードが紐づけはO列に10PからポイントMAX付与
➁担当者ID+主担当部門コード以外だったら該当ポイントの1/2付与
かつ、「達成額/未達成額」が0orマイナスなら1/2のポイントの半分付与

何卒、よろしくお願いいたします。

お世話になっております。

条件によってポイント付与する数式を組みたいのですが
条件が複雑で、どのような関数を組めば良いか、関数の知識も乏しく頭を悩ませております。
詳しい方教えて頂けないでしょうか?

K列 担当者ID
L列 計画
M列 実績
N列 達成率
O列 達成額/未達額
P列 ポイント付与欄

上記のようなデータがあります。

下記条件で、O列「達成額/未達額」の降順にポイントを付与したいです。
その際、下記の条件でポイントを付与したいのです。

ポイント集計先
①黄色セル...続きを読む

Aベストアンサー

まず基本条件の方からいきます。
1.セルP5に 「 =IF($M5>0,MAX(10+1-RANK.AVG($O5,IF($M$5:$M$1000>0,$O$5:$O$1000,"")),0),"") 」を入力します。
2.必要なだけ下方向にコピーします。(完了)

*RANK.AVG関数で”達成額/未達成額”の順にランキング(1~)をつけ、11から差し引く、という方法をとります
*”実績”がマイナスのものはランキング付けそのものから除外するので、IF関数で検索対象の配列を絞り込みます
(IF関数に配列を入れたら答えも配列で返してくれるので、その絞り込んだ配列に対してRANK.AVR関数を使います。)
*マイナスのポイントは排除したいので、MAX関数でゼロと比較して正の値のみを採択します

追加条件込みの方は、以下です。
1.セルP5に 「 =IF($M5>0,MAX(10+1-RANK.AVG($O5,IF($M$5:$M$1000>0,$O$5:$O$1000,"")),0)*IF(VLOOKUP($K5,$E$3:$F$1000,2,FALSE)=$K$4,1,IF($O5>0,0.5,0.25)),"") 」を入力します。
2.必要なだけ下方向にコピーします。(完了)

*担当IDから担当部門コードの検索にはVLOOK関数を使います。VLOOK関数が正常に動作するには、担当IDに漏れがない事と番号順に並んでいる事が必要ですので、これ前提で考えて下さい。
*追加条件に準じ、ポイントを1倍したり、0.5倍したり、0.25倍したり、しました。

まず基本条件の方からいきます。
1.セルP5に 「 =IF($M5>0,MAX(10+1-RANK.AVG($O5,IF($M$5:$M$1000>0,$O$5:$O$1000,"")),0),"") 」を入力します。
2.必要なだけ下方向にコピーします。(完了)

*RANK.AVG関数で”達成額/未達成額”の順にランキング(1~)をつけ、11から差し引く、という方法をとります
*”実績”がマイナスのものはランキング付けそのものから除外するので、IF関数で検索対象の配列を絞り込みます
(IF関数に配列を入れたら答えも配列で返してくれるので、その絞り込んだ配列に対してRAN...続きを読む

Qお世話になっております エクセルで有給の管理をしたいのですが 数式がわかりません。ご教示お願いします

お世話になっております

エクセルで有給の管理をしたいのですが
数式がわかりません。ご教示お願いします。
当社の場合、年休は
一日年休、時間年休、半日年休(1日の半分の年休)の三種類があります。
(8時間拘束です)

一日年休は時間に換算すると8時間
残日数と残時間を足してすべて時間に換算する、まではわかるのですが、頭を悩ませているのが、半休と時間年休の表示をわけることです。

<例>
年休残日数が16日と1時間あるとします。
そこで、半日年休を取ったとします。
16日+1時間を時間に換算すると129時間です
そこから半日と考えて4時間をマイナスすると125時間となりますが、これを下記の数式に入れると

=INT(125/8)&"日"&MOD(125,8)&"時間"

15日5時間となりますが、実際は15日と半日と1時間です。
4時間年休を取ったすればその場合は、残は15日5時間でOKです。

どういう計算式を入れればこのとおり表示できるでしょうか。

悩んで禿げそうです。
どなたかお知恵をお貸し願います。
よろしくお願いします

_______このように表示したい_____________

年月日|1日単位|半日単位|時間単位 残
2月5日   0    1    0   15日半日1時間
2月7日   0    0    4   14日半日5時間
2月8日   0    1    0   14日5時間

お世話になっております

エクセルで有給の管理をしたいのですが
数式がわかりません。ご教示お願いします。
当社の場合、年休は
一日年休、時間年休、半日年休(1日の半分の年休)の三種類があります。
(8時間拘束です)

一日年休は時間に換算すると8時間
残日数と残時間を足してすべて時間に換算する、まではわかるのですが、頭を悩ませているのが、半休と時間年休の表示をわけることです。

<例>
年休残日数が16日と1時間あるとします。
そこで、半日年休を取ったとします。
16日+1時間を時間に換算すると...続きを読む

Aベストアンサー

有給休暇の全てを時間単位で管理して、
残時間に対する最後の表示だけを、日+時間の表示にすればよいと思います。
日=残時間÷8の商、時間=その余り、で表せます。

年間有給時間=年間有給日数×8時間、として、
日休暇=8時間
半休=4時間(午前、午後とも)
時間給=時間に切り上げの時間数
これを消化ごとに減じていけばよい、と思います。

Qエクセル データの入力規制「リスト」でこんな事できますか?

エクセルでこんな事できますか?
並列したQ列 R列があり、
また、添付には表記されていませんが、
その隣にS列 T列があり、
Q列、S列は、「コード」という事で、
Q列は1,2,3,4,5,6,7,8,9,10
S列は11,12,13,14,15,16,17,18,19,20
です。
R列は、「材質」でQ列に対応し、添付ファイルのように10項目
T列も「材質」でS列に対応し、10項目あります。

R列 T列「材質」を見て Q37セルにコードを入力したく、
その時、ドロップダウンリストとして、R列、続けて、T列の項目を表示したいです。

データの入力規制「リスト」で、できそうかと思い、頑張っていたのですが、
うまくいかず困っています。
データの入力規制「リスト」にはこだわりませんが、
マクロはできるだけ使わず完成したく思います。
エクセル詳しいかたご教授よろしくお願いします。

Aベストアンサー

あー…
入力規則はあくまでも、データ入力を補助するための機能ですからリストと違う文字を反映させることはできませんよ。

例えばリストデータは、01りんご・02プリンのように作って置いて、コードを出す時に
=LEFT(Q37,2)*1
と入れておくとか?

Q時刻(時間)表示形式について

添付図をご覧ください。
範囲 A3~A6 に h:mm 形式で時刻を入力しています。
式 =$A3 を入力したセル B3 を右方3列、下方3行にオートフィルしました。
B列の書式は h"時間"mm"分" に設定しました。
C、D列の書式を h"時間"m"分" に設定した後で、D列に下記の[条件付き書式]を設定しました。
ルールの適用先: =$D$3:$D$6
ルールの種類: “数式を…を決定”
ルールの内容↓
 ̄ ̄数式→=MINUTE($A3)=0、書式→表示形式を h"時間" に設定

さて、質問です。
「0時間」という表示を避けたいので、その場合はセル E3、E4 に示すように単に(?)「0分」、「23分」と、マクロを使わないで、表示させる方法があれば教えてください。

Aベストアンサー

こんにちは

条件付き書式を追加すればできそうですが・・・?

「数式を使用して~~」から条件式として
  =$A3<1/24
を代入し、書式をユーザ定義として
  [m]"分"
に設定するのでは、いかがでしょうか?

Q特定の列範囲の中で最終列を指定

お世話になります。
以前質問した中で、別シートにデータを5列づつ
下に追加していくにはどうしたら良いかと言う質問をさせていただきました。

https://oshiete.goo.ne.jp/qa/11051972.html

上記回答で解決したのですが、
For j = 4 To .Cells(i, 1).End(xlToRight).Column Step unit
だと繰り返したくない列も動いてしまい、
繰り返す列範囲がD~W列のため
For j = 4 to 24 Step unit に変更しました。
すると今度は空白がある行も転記してしまい、困っています。

繰り返す範囲はD~W列まで5列毎に繰り返す
5列毎の最初のセルが空白か[0]であれば転記しない

どうぞよろしくお願いします。

Aベストアンサー

似ていますが、、、、

Sub Copies()
Const SRow = 3: Dim LRow As Long
Dim sht1 As Worksheet: Dim sht2 As Worksheet
Dim i As Long, j As Long, k As Long
Const UWide = 5
'===================
Set sht1 = Worksheets("Sheet1")
Set sht2 = Worksheets("Sheet2")
'===================
Application.ScreenUpdating = False
With sht1
LRow = .Cells(Rows.Count, 1).End(xlUp).Row
.Cells(SRow, 1).Resize(1, 3 + UWide).Copy sht2.Cells(1, 1)
k = 2
For i = SRow + 1 To LRow
For j = 4 To 23 Step UWide
If WorksheetFunction.CountA(.Cells(i, j).Resize(1, UWide)) > 0 Then
.Cells(i, 1).Resize(1, 3).Copy sht2.Cells(k, 1)
.Cells(i, j).Resize(1, UWide).Copy sht2.Cells(k, 4)
k = k + 1
End If
Next j
Next i
End With
Application.ScreenUpdating = True
End Sub

似ていますが、、、、

Sub Copies()
Const SRow = 3: Dim LRow As Long
Dim sht1 As Worksheet: Dim sht2 As Worksheet
Dim i As Long, j As Long, k As Long
Const UWide = 5
'===================
Set sht1 = Worksheets("Sheet1")
Set sht2 = Worksheets("Sheet2")
'===================
Application.ScreenUpdating = False
With sht1
LRow = .Cells(Rows.Count, 1).End(xlUp).Row
.Cells(SRow, 1).Resize(1, 3 + UWide).Copy sht2.Cells(1, 1)
k = 2
For i = SR...続きを読む

QEXCELで、上下並んだセルのペアに対して、条件に当てはまるペアの個数を数えるには?

例えば、A1からZ1までのセルに、
af fe pr oy uu fi ko ru ir ny fh oh pe ny gg hd ul kd ty uk oi nr fy gk dq te
と1つのセルにつき2文字ずつデータが入っていて、
さらに、A2からZ2までのセルに、
ai wp hi mi ps nu fd ij di mi fg er eq vg yr lk fr af xv ui ft gh bv wo pg fr
と、これも1つのセルに付2文字ずつデータが入っているとします。
上下2段になっているわけです。
上下ペアが26個あるという形です。

そうした場合に、
「上の段にgが含まれていて、下の段にrが含まれているペアはいくつあるか」
という問題の答えを求める方法はあるでしょうか。

よろしくお願い致します。

Aベストアンサー

例えば、こちら↓のようなこと?
 =COUNTIFS(A1:Z1,"*g*",A2:Z2,"*r*")

Excel2007以降なら、上記の関数で対応できます。

Q4142から653347と飛んでます。 これを4143からちゃんと並ぶにはどうすればいいでしょうか?

4142から653347と飛んでます。
これを4143からちゃんと並ぶにはどうすればいいでしょうか?

Aベストアンサー

これ、9から70に飛んでるよね。

①シート全体を選択
②どの行でもいいので右クリック
③再表示を選択

開いたかな?

QエクセルでのIF関数について

エクセルでIF関数で
同じセルの中で、IF関数を使って、例えば、
セルの中味で、0を越えれば、あ
0未満なら、い
と表示したいのですが、できますでしょうか?
できるなら、その関数表示をお願いします。
今、作業中なので、できましたら早急に宜しくお願いします!
例えば、
=IF( $C3>0,"あ","い") ではなくて、C3=0 が い になるので、ダメ!!

Aベストアンサー

こんにちは

せっかく写真を添付なさっても、どこがC3セルなのかわからないですね。
(行番号と列番号が不明)

>0を越えれば、あ
0より大きければ「あ」(0は含まない)
>0未満なら、い
0より小さければ「い」(0は含まない)
ということになるので、0の場合にどうしたいのかが記されていません。

>C3=0 が い になるので、ダメ!!
ということから勝手に推測して『0以上なら「あ」』という条件に読み替えるとするなら
 =IF($C3>=0,"あ","い")

さらに、『C列が空白の場合は、「あ」と表示しない(空白表示)』という条件も付け加えるのなら
 =IF($C3="","",IF($C3>=0,"あ","い"))
とかでしょうか…

Qエクセルについて、お救い下さい。

B1がC1が結合されている場合に、形が一致していません。とエラーになってしまいます。
結合を解除せずになんとか入力できないでしょうか?ご教示下さい。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("B1:B10")) Is Nothing Then Exit Sub
Cancel = True
If Target.Value = "□" Then
Target.Value = "■"
ElseIf Target.Value = "■" Then
Target.Value = "□"
End If
End Sub

Aベストアンサー

一番安易な方法ですが、Target.Value → Target(1).Value にすればエラーは回避できます。機能的にも問題は無いです。ただ、この後もコードを追加していくのであれば、やめておいた方が良いです。他の回答を待ちましょう!!


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

人気Q&Aランキング