回答編集履歴

4

saisaisyuusei

2018/02/08 01:51

投稿

jawa
jawa

スコア3013

test CHANGED
@@ -170,7 +170,19 @@
170
170
 
171
171
  どのセルも同じ式を使っていますので、後からセルの色だけを変更しても結果が反映されるのが利点でしょうか。
172
172
 
173
+
174
+
175
+
176
+
173
- また他にもセル判定をしたい場合にはCellColor関数利用利点です。
177
+ 今回取得部分のみVBAで関数にましたが、全てをVBA自動化すこともちろんきます。
178
+
179
+ その方がワークシート関数での条件判定がいらなくできたりといったメリットもありますが、反面、少し動作を変えたいときにもVBA側を変更したり、別個に似たような関数を作成する必要がでてきたりします。
180
+
181
+
182
+
183
+ そんなわけで今回はセル背景色の取得部分のみをVBAで関数化しました。
184
+
185
+ シンプルな分、使いまわしが効くのではないかと思います。
174
186
 
175
187
 
176
188
 

3

saisaisyuusei

2018/02/08 01:51

投稿

jawa
jawa

スコア3013

test CHANGED
File without changes

2

しゅうせい2

2018/02/08 01:51

投稿

jawa
jawa

スコア3013

test CHANGED
@@ -120,11 +120,11 @@
120
120
 
121
121
  それぞれAND関数を使って式にすると、
122
122
 
123
- ①`AND($B$1="りんご", CollColor(B4) = 3)`
123
+ ①`AND($B$1="りんご", CellColor(B4) = 3)`
124
124
 
125
- ②`AND($B$1="ぶどう", CollColor(B4) =23)`
125
+ ②`AND($B$1="ぶどう", CellColor(B4) =23)`
126
126
 
127
- ③`AND($B$1="ばなな", CollColor(B4) = 6)`
127
+ ③`AND($B$1="ばなな", CellColor(B4) = 6)`
128
128
 
129
129
  となります。
130
130
 
@@ -140,7 +140,7 @@
140
140
 
141
141
  ①~③を埋め込むと
142
142
 
143
- `OR(AND($B$1="りんご", CollColor(B4) = 3), AND($B$1="ぶどう", CollColor(B4) =23), AND($B$1="ばなな", CollColor(B4) = 6))`
143
+ `OR(AND($B$1="りんご", CellColor(B4) = 3), AND($B$1="ぶどう", CellColor(B4) =23), AND($B$1="ばなな", CellColor(B4) = 6))`
144
144
 
145
145
  となります。
146
146
 
@@ -152,7 +152,7 @@
152
152
 
153
153
  最後に、IF文で上記を満たしたとき"R"、それ以外は空白を返すようにします。
154
154
 
155
- `=IF(OR(AND($B$1="りんご", CollColor(B4) = 3), AND($B$1="ぶどう", CollColor(B4) =23), AND($B$1="ばなな", CollColor(B4) = 6)), "R", "")`
155
+ `=IF(OR(AND($B$1="りんご", CellColor(B4) = 3), AND($B$1="ぶどう", CellColor(B4) =23), AND($B$1="ばなな", CellColor(B4) = 6)), "R", "")`
156
156
 
157
157
 
158
158
 

1

しゅうせい

2018/02/08 01:42

投稿

jawa
jawa

スコア3013

test CHANGED
@@ -130,7 +130,7 @@
130
130
 
131
131
 
132
132
 
133
- これら「いずれかを満たしたら」という部分はOR関数を利用します。
133
+ これら「いずれかを満たしたら」という部分はOR関数を利用し
134
134
 
135
135
  `OR(①, ②, ③)`
136
136
 
@@ -152,7 +152,7 @@
152
152
 
153
153
  最後に、IF文で上記を満たしたとき"R"、それ以外は空白を返すようにします。
154
154
 
155
- `=OR(AND($B$1="りんご", CollColor(B4) = 3), AND($B$1="ぶどう", CollColor(B4) =23), AND($B$1="ばなな", CollColor(B4) = 6)), "R", "")`
155
+ `=IF(OR(AND($B$1="りんご", CollColor(B4) = 3), AND($B$1="ぶどう", CollColor(B4) =23), AND($B$1="ばなな", CollColor(B4) = 6)), "R", "")`
156
156
 
157
157
 
158
158