回答編集履歴

5

IFが多い

2019/10/25 05:07

投稿

FKM
FKM

スコア3647

test CHANGED
@@ -30,7 +30,7 @@
30
30
 
31
31
  ```
32
32
 
33
- IF(
33
+
34
34
 
35
35
     IF(AND(C27="休",E27="内勤",R27>O27)), //1-1
36
36
 
@@ -54,7 +54,7 @@
54
54
 
55
55
     )
56
56
 
57
- )
57
+
58
58
 
59
59
 
60
60
 
@@ -66,6 +66,6 @@
66
66
 
67
67
  ```EXCEL
68
68
 
69
- IF(IF(AND(C27="休",E27="内勤",R27>O27)),O27,IF(C27="休",R27,IF(R27>$S$2,R27-$S$2,0)))
69
+ IF(AND(C27="休",E27="内勤",R27>O27)),O27,IF(C27="休",R27,IF(R27>$S$2,R27-$S$2,0))
70
70
 
71
71
  ```

4

余分なIF除去

2019/10/25 05:07

投稿

FKM
FKM

スコア3647

test CHANGED
@@ -32,33 +32,31 @@
32
32
 
33
33
  IF(
34
34
 
35
-    IF(AND(C27="休",E27="内勤",R27>O27),
35
+    IF(AND(C27="休",E27="内勤",R27>O27)), //1-1
36
36
 
37
-    O27,
37
+    O27, //1-2
38
38
 
39
-    IF(
39
+ IF( //1-3
40
40
 
41
- IF(
41
+ C27="休", //2-1
42
42
 
43
-    C27="休",
43
+ R27, //2-2
44
44
 
45
-    R27,
45
+ IF( //2-3
46
46
 
47
-    IF(
47
+      R27>$S$2, //3-1
48
48
 
49
-          R27>$S$2,
49
+      R27-$S$2, //3-2
50
50
 
51
-          R27-$S$2,
51
+      0 //3-3
52
52
 
53
-          0
54
-
55
-    )
53
+ )
56
-
57
-          )
58
54
 
59
55
     )
60
56
 
61
57
  )
58
+
59
+
62
60
 
63
61
  ```
64
62
 
@@ -68,6 +66,6 @@
68
66
 
69
67
  ```EXCEL
70
68
 
71
- IF(IF(AND(C27="休",E27="内勤",R27>O27),O27,IF(IF(C27="休",R27,IF(R27>$S$2,R27-$S$2,0))))
69
+ IF(IF(AND(C27="休",E27="内勤",R27>O27)),O27,IF(C27="休",R27,IF(R27>$S$2,R27-$S$2,0)))
72
70
 
73
71
  ```

3

インデント調整

2019/10/25 04:53

投稿

FKM
FKM

スコア3647

test CHANGED
@@ -32,29 +32,31 @@
32
32
 
33
33
  IF(
34
34
 
35
- IF(AND(C27="休",E27="内勤",R27>O27),
35
+    IF(AND(C27="休",E27="内勤",R27>O27),
36
36
 
37
- O27,
37
+    O27,
38
38
 
39
- IF(
39
+    IF(
40
40
 
41
41
  IF(
42
42
 
43
- C27="休",
43
+    C27="休",
44
44
 
45
- R27,
45
+    R27,
46
46
 
47
- IF(
47
+    IF(
48
48
 
49
- R27>$S$2,
49
+          R27>$S$2,
50
50
 
51
- R27-$S$2,
51
+          R27-$S$2,
52
52
 
53
- 0
53
+          0
54
54
 
55
- )
55
+    )
56
56
 
57
- ),
57
+          )
58
+
59
+    )
58
60
 
59
61
  )
60
62
 
@@ -66,8 +68,6 @@
66
68
 
67
69
  ```EXCEL
68
70
 
69
- IF(IF(AND(C27="休",E27="内勤",R27>O27),O27,IF(IF(C27="休",R27,IF(R27>$S$2,R27-$S$2,0)),
71
+ IF(IF(AND(C27="休",E27="内勤",R27>O27),O27,IF(IF(C27="休",R27,IF(R27>$S$2,R27-$S$2,0))))
70
-
71
- )
72
72
 
73
73
  ```

2

板書

2019/10/25 04:46

投稿

FKM
FKM

スコア3647

test CHANGED
@@ -56,7 +56,17 @@
56
56
 
57
57
  ),
58
58
 
59
+ )
60
+
61
+ ```
62
+
63
+
64
+
59
- //4つ目の引数!?
65
+ これをExcel用に板書した場合、こうなります。
66
+
67
+ ```EXCEL
68
+
69
+ IF(IF(AND(C27="休",E27="内勤",R27>O27),O27,IF(IF(C27="休",R27,IF(R27>$S$2,R27-$S$2,0)),
60
70
 
61
71
  )
62
72
 

1

改行の修正

2019/10/25 04:41

投稿

FKM
FKM

スコア3647

test CHANGED
@@ -1,4 +1,4 @@
1
- エディタでその問題ありの関数を分割してみてください。こうなります
1
+ エディタでその問題ありの関数を分割してみてください。こうなっておIF関数の引数が4つ存在することになります
2
2
 
3
3
  ```
4
4
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  C27="休",
8
8
 
9
- R27, //不要では?
9
+ R27,
10
10
 
11
11
  IF(
12
12
 
@@ -26,4 +26,38 @@
26
26
 
27
27
 
28
28
 
29
+ 解決のためには、AND条件を先頭に持ってきて、そこで正否判定に従って展開させていきます。Excelは一行なので分かりづらいと思うので、複雑になるならエディタで書いてみて、あとでExcelに貼り付けるとわかりやすいと思います(改行は無視されるので、そのまま適用できます)。
30
+
31
+ ```
32
+
33
+ IF(
34
+
35
+ IF(AND(C27="休",E27="内勤",R27>O27),
36
+
37
+ O27,
38
+
39
+ IF(
40
+
41
+ IF(
42
+
43
+ C27="休",
44
+
45
+ R27,
46
+
47
+ IF(
48
+
49
+ R27>$S$2,
50
+
51
+ R27-$S$2,
52
+
53
+ 0
54
+
55
+ )
56
+
57
+ ),
58
+
29
- 解決ためには、第2引数のR27を削除してください。
59
+ //4つ目の引数!?
60
+
61
+ )
62
+
63
+ ```