namjun's blog

”研究で一番大事な事は工夫すること”

 記事一覧   macのアプリ活用法   i手帳活用法   Flashcards Deluxe   英語多読   工業英検   ブログのこと   もうひとつのブログ

Excelの条件付き書式をブログで表示する方法

僕は同期会HPを担当していて、Excelで渡された名簿をHPに掲載するという話は以前お伝えしました。

Excelの表をブログに貼り付けるのは、これが一番スマートかな? - namjun's blog

今度は、「連絡が取れる人と取れない人と確認中の人を色分けして掲載せよ」というお題が出されました。

 

これって条件付き書式ってやつ?

Excelの表に一列挿入して、連絡が取れる人=a、確認中の人=b、連絡が取れない人=cと入力してもらう。
bなら文字色が青、cなら赤という、条件付き書式を設定する。
f:id:windfeather:20140214205552p:plain
一苦労して何とかできました。覚え書きしておきます。

Excel for mac2011です。
書式」から「条件付き書式」を選びます。
 ↓
+ボタンを押して、新しい書式ルールウィンドウを立ち上げます。
 ↓
スタイル:クラシック」を選択して、
数式を使用して書式設定するセルを決定」を選択。
数式はB列が文字列bの時なので、「 =$B1="b"」とします。←これが苦労しました。列のみ絶対参照します。

f:id:windfeather:20140214213013p:plain

書式はユーザー設定書式..から設定しました。

適用範囲は色を変えたい範囲全てを指定します。
 
同様にして、cのときは文字色赤に設定しました。
↓こんな感じになりました。
f:id:windfeather:20140214212558p:plain
ん?Excelで色分けしてもダメじゃん!
 

Excelの条件付き書式をhtmlタグに翻訳する

色分けするhtmlタグを表示させないといけません。
まず、列を挿入して、表タグを入力します。a,b,cはHPに載せないので、一番後ろの列にします。

f:id:windfeather:20140214221512p:plain

このC列に色分けするhtmlを表示させますが、G列の入力内容によって変えなくてはいけません。
「このセルの値が〜なら、文字列ーーとする」ということなので、IF関数を使いました。
関数の書式は =IF(セル=値、trueの時の値、falseの時の値)です。
また、書式を表すには、style="color:blue;" というタグを使います。
<td>と合わせて、<td style="color:blue;">となります。
G列が文字列bなら、文字列<td style="color:blue;">を返してもらうので、
=IF(G1="b","<td style="color:blue;">","">
とC1セルに入力しました。
しかし、Excel先生は認めてくれません。そう、Excelの関数のダブルクォーテーション"とhtmlタグのダブルクォーテーション"がかぶっています。
どうする〜。
 
調べました。

Excelの関数の中にダブルクォーテーションを文字として使うときはダブルクォーテーションを印として使う。

<td style="color:blue;">を<td style=""color:blue;"">とするということです。
 
さて、IF関数に戻ります。
=IF(セル=値、trueの時の値、falseの時の値)
このfalseの時の値の所に IF()を入れて、入れ子にもできます。

そこにはG1="c"の時<td style:"color:red;">という文字列を返すように記入します。

さらにそれもfalseの時は、黒文字で良いので、<td>と返すようにします。

 合わせて、C1に入れる数式は

=IF(G1="b","<td style=""color:blue;"">",IF(G1="c","<td style=""color:red;"">","<td>"))

となります。

これを下方向にコピーします。

f:id:windfeather:20140214222943p:plain

 

F列までをコピーして、このブログ記事のHTML編集に貼り付けました。

松井 裕樹
塩見 貴洋
濱矢 廣大
則本 昂大
トラビス・ブラックリー
森 雄大

 

やっとできました〜。↓これを貼り付ければ良いだけなんですが..

=IF(G1="b","<td style=""color:blue;"">",IF(G1="c","<td style=""color:red;"">","<td>"))