【事件の表示】
　特願２０１３−２６８５８３「チャートのビジュアルプロパティをテーブル内のセルにリンクする」拒絶査定不服審判事件〔平成２６年　４月１７日出願公開、特開２０１４−　６７４４７、請求項の数（２０）〕について、次のとおり審決する。
【結　論】
　原査定を取り消す。
　本願の発明は、特許すべきものとする。
【理　由】
第１　手続の経緯
　本願は、平成２１年１月２９日の国際出願（パリ条約による優先権主張日：２００８年３月１２日、米国）の一部を平成２５年１２月２６日に新たな特許出願としたものであって、平成２７年１１月１０日付けで拒絶理由通知がされ、これに対し、平成２８年２月１６日に意見書及び手続補正書が提出されたものの、同年５月２３日付けで拒絶査定（原査定）がされ、これに対し、同年９月２３日に拒絶査定不服審判の請求がされたものである。
　
第２　原査定の概要
　原査定（平成２８年５月２３日付け拒絶査定）の概要は次のとおりである。
　
　本願請求項１−２０に係る発明は、以下の引用文献１、２に基づいて、その発明の属する技術の分野における通常の知識を有する者（以下、「当業者」という。）が容易に発明できたものであるから、特許法第２９条第２項の規定により特許を受けることができない。
　
引用文献等一覧
１　Ｙ/数値軸目盛の最大値と最小値にセルの値を入れたい！，日本，２００６年２月　３日，[online]，URL:http://okwave.jp/qa/q1934112.html
２　(エクセルVBA2003）セルの入力値が変ったら処理をする，日本，２００８年１月１４日，[online]，URL:http://blog.livedoor.jp/katsuyausami/archives/51278693.html
　
第３　本願発明
　本願請求項１−２０に係る発明（以下、それぞれ「本願発明１」−「本願発明２０」という。）は、平成２８年２月１６日付けの手続補正により補正された特許請求の範囲の請求項１−２０に記載された事項により特定される発明であり、そのうち、本願発明１は、以下のとおりの発明である。
　
「　スプレッドシート内に提示された
データのチャート表示のビジュアルプロパティ
前記ビジュアルプロパティは、
　　
前記チャート表示内の軸の最大値、または、
　　
前記チャート表示内の軸の最小値
である
　前記スプレッドシート内の少なくとも１つのセルを選択するものを前記コンピュータが受けるステップと、
　前記
ビジュアルプロパティを前記少なくとも１つのセルに前記コンピュータがリンクする
　前記
少なくとも１つのセルの内容に対する、他のセルにおける変化による変化
　前記少なくとも１つのセルの前記内容に対する
前記変化に応答して、前記チャート表示の前記ビジュアルプロパティを前記コンピュータが更新する
を含む方法。」
　
　なお、本願発明２−２０の概要は以下のとおりである。
　
　本願発明２は、本願発明１を減縮した発明である。
　
　本願発明３は、本願発明１（改行を「／」で示す。以下、同様。）の「スプレッドシート内に提示されたデータのチャート表示のビジュアルプロパティを選択するものをコンピュータが受けるステップであって、前記ビジュアルプロパティは、／前記チャート表示内の軸の最大値、または、／前記チャート表示内の軸の最小値である、ステップ」、「前記スプレッドシート内の少なくとも１つのセルを選択するものを前記コンピュータが受けるステップ」及び「前記ビジュアルプロパティを前記少なくとも１つのセルに前記コンピュータがリンクするステップ」を、「
チャートデータ
ビジュアルプロパティ
ビジュアルプロパティは、／チャートデータの前記グラフィカルディスプレイ内の軸の最大値、または、／チャートデータの前記グラフィカルディスプレイ内の軸の最小値である
前記ビジュアルプロパティを前記セルの前記内容に前記コンピュータがリンクし
前記セルの前記内容に対する、他のセルにおける変化による変化
前記セルの前記内容に対する前記変化がチャートデータの前記グラフィカルディスプレイの前記ビジュアルプロパティに影響を与える
　
　本願発明４−８は、本願発明３を減縮した発明である。
　
　本願発明９は、本願発明１の「スプレッドシート内に提示されたデータのチャート表示のビジュアルプロパティを選択するものをコンピュータが受けるステップであって、前記ビジュアルプロパティは、／前記チャート表示内の軸の最大値、または、／前記チャート表示内の軸の最小値である、ステップ」、「前記スプレッドシート内の少なくとも１つのセルを選択するものを前記コンピュータが受けるステップ」、「前記ビジュアルプロパティを前記少なくとも１つのセルに前記コンピュータがリンクするステップ」、「前記少なくとも１つのセルの内容に対する、他のセルにおける変化による変化を前記コンピュータがテストするステップ」及び「前記少なくとも１つのセルの前記内容に対する前記変化に応答して、前記チャート表示の前記ビジュアルプロパティを前記コンピュータが更新するステップ」を、「
チャート表示のビジュアルプロパティ
ビジュアルプロパティは、／前記チャート表示内の軸の最大値、または、／前記チャート表示内の軸の最小値
前記セルの内容に対する、他のセルにおける変化による変化がテストされ、前記セルの前記内容に対する前記変化が前記チャート表示の前記ビジュアルプロパティに影響を与える
セルを前記ビジュアルプロパティにリンクする
　
　本願発明１０は、本願発明９を減縮した発明である。
　
　本願発明１１−２０は、それぞれ、本願発明１−１０に対応するプログラム発明であり、本願発明１−２０とカテゴリ表現が異なるだけの発明である。
　
第４　引用文献、引用発明等
１　引用文献１について
　原査定の拒絶の理由に引用された上記引用文献１には、次の事項が記載されている。
　
「ＱＹ／数値軸メモリの最大値と最小値にセルの値を入れたい！」
「グラフの元のデータの変更に応じて変化する横棒グラフを作っています。
　
「Ｙ／数値軸目盛」の「最大値」と「最小値」に、グラフの元のデータ以外のセルの値を入れたいです。・・・」
　
「質問者が選んだベストアンサー
・２００６−０２−０３　１２：１８：００
・回答Ｎｏ．１」
　
「こんにちは。
ＶＢＡを使用した作成例です。（グラフをシートで作成してある場合）
＊グラフシート名：Ｇｒａｐｈ１
最小値のセル：Ｓｈｅｅｔ１のＡ２０
最大値のセルＳｈｅｅｔ１のＡ２１
メモリ間隔：Ｓｈｅｅｔ１のＡ２２とした場合
　
ツール＞マクロ＞ＶｉｓｕａｌＢａｓｉｃＥｄｉｔｏ
左ツリーからＳｈｅｅｔ１をダブルクリックして以下のコードをペースト
　
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel 
As Boolean)
Sheets(Graph1).Select
With ActiveChart.Axes(xlValue)
.MinimumScale = Sheets(Sheet1).Range(A20)'最小値
.MaximumScale = Sheets(Sheet1).Range(A21)'最大値
.MajorUnit = Sheets(Sheet1).Range(A22)'メモリ間隔
End With
End Sub」
　
　してみると、引用文献１には、
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel 
As Boolean)
Sheets(Graph1).Select
With ActiveChart.Axes(xlValue)
.MinimumScale = Sheets(Sheet1).Range(A20)'最小値
.MaximumScale = Sheets(Sheet1).Range(A21)'最大値
・・・
End With
End Sub
というＶＢＡのコードを実行することによって、グラフの「Ｙ/数値軸目盛」の「最大値」と「最小値」に、グラフの元のデータ以外のセルの値を入れる方法
　
の発明（以下、「引用発明」という。）が記載されていると認められる。
　
２　引用文献２について
　原査定の拒絶の理由に引用された上記引用文献２には、次の事項が記載されている。
　
「ワークシートのセルに何か値を入力したら処理を行うと言う時には、ワークシートのChangeイベントを使いますね。
このイベントは、セルに値をキー入力してEnterキーを押下したときに発生します。」
　
「今、ワークシートのA1セルに値がキー入力されたら処理を行う事とします。（以下のコードはシートモジュールに書きます。）
Private Sub Worksheet_Change(ByVal Target As Range)
　Dim SavVal As Variant
　　If Target.Address $A$1 Then Exit Sub
　　SavVal = Target.Value
　　Application.EnableEvents = False
　　Application.Undo
　　If SavVal = Target.Value Then
　　　MsgBox “変っていません”
　　　GoTo Owari
　　Else
　　　Target.Value = SavVal
　　　MsgBox “値が変りました”
　　EndIf
　Owari: 
　　Application.EnableEvents = True
　End Sub」
　
　してみると、引用文献２には、
　
シートモジュールに書かれた
Private Sub Worksheet_Change(ByVal Target As Range)
　Dim SavVal As Variant
　　If Target.Address $A$1 Then Exit Sub
　　SavVal = Target.Value
　　Application.EnableEvents = False
　　Application.Undo
　　If SavVal = Target.Value Then
　　　MsgBox “変っていません”
　　　GoTo Owari
　　Else
　　　Target.Value = SavVal
　　　MsgBox “値が変りました”
　　EndIf
　Owari: 
　　Application.EnableEvents = True
　End Sub
を実行することによって、ワークシートのセルにすでに入力されている値と違う値が入力された時にも処理を行う方法
　
の技術的事項が記載されていると認められる。
　
第５　対比・判断
１　本願発明１について
（１）対比
　本願発明１と引用発明とを対比する。
　引用発明の「グラフ」、「.MinimumScale」及び「.MaximumScale」、「最大値」、「最小値」、「Range(A20)」及び「Range(A21)」は、それぞれ、本願発明１の「チャート表示」、「ビジュアルプロパティ」、「最大値」、「最小値」、「少なくとも１つのセル」に相当する。
　そして、引用発明の「With ActiveChart.Axes(xlValue)／.MinimumScale = Sheets(Sheet1).Range(A20)'最小値／.MaximumScale = Sheets(Sheet1).Range(A21)'最大値」は、「最大値」及び「最小値」を示す「ビジュアルプロパティ」である「.MinimumScale」及び「.MaximumScale」の値を「少なくとも１つのセル」の値を示す「Range(A20)」及び「Range(A21)」の値と同じにすることによって、前者の値を後者の値とする形式で両者をリンクする処理をコンピュータが実行する処理であるといえるから、本願発明１の「前記ビジュアルプロパティを前記少なくとも１つのセルに前記コンピュータがリンクする」に相当する。
　また、引用発明の「ＶＢＡ」がスプレッドシート向けのものであることは、「少なくとも１つのセル」である「Range(A20)」及び「Range(A21)」や「ビジュアルプロパティ」である「.MinimumScale」及び「.MaximumScale」からみて、明らかである。
　
　そして、引用発明の「With ActiveChart.Axes(xlValue)／.MinimumScale = Sheets(Sheet1).Range(A20)'最小値／.MaximumScale = Sheets(Sheet1).Range(A21)'最大値」は、「Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)」との記載によれば、引用発明のワークシートに対するダブルクリックイベントの検出に伴う動作として、「少なくとも１つのセル」である「Range(A20)」及び「Range(A21)」の値によってこれらにリンクする「ビジュアルプロパティ」である「.MinimumScale」及び「.MaximumScale」の値を更新するから、「少なくとも１つのセル」の「内容」に対する「変化」に応答するものでない（相違点）ものの、本願発明と同様に、「チャート表示」の「ビジュアルプロパティ」を「コンピュータ」が「更新する」ものである。
　
　してみると、両者は、
＜一致点＞
　スプレッドシート内に提示された
データのチャート表示のビジュアルプロパティ
前記ビジュアルプロパティは、
　　
前記チャート表示内の軸の最大値、または、
　　
前記チャート表示内の軸の最小値
である
　前記スプレッドシート内の少なくとも１つのセルを選択するものを前記コンピュータが受けるステップと、
　前記
ビジュアルプロパティを前記少なくとも１つのセルに前記コンピュータがリンクする
　
前記チャート表示の前記ビジュアルプロパティを前記コンピュータが更新する
を含む方法
　
である点で一致している。
　
　そして、
＜相違点＞
　本願発明１が「前記少なくとも１つのセルの内容に対する、他のセルにおける変化による変化を前記コンピュータがテストするステップ」を含み、チャート表示内の軸の最大値またはチャート表示内の軸の最小値であるビジュアルプロパティを「前記少なくとも１つのセルの前記内容に対する前記変化に応答して」コンピュータが更新するのに対し、引用発明は、チャート表示内の軸の最大値またはチャート表示内の軸の最小値であるビジュアルプロパティをコンピュータが更新する際の更新がダブルクリックイベントの検出に伴う動作として行われる点
　
（２）相違点についての判断
　「第４　引用文献、引用発明等」の「２　引用文献２について」に示したとおり、引用文献２には、
「シートモジュールに書かれた
Private Sub Worksheet_Change(ByVal Target As Range)
　Dim SavVal As Variant
　　If Target.Address $A$1 Then Exit Sub
　　SavVal = Target.Value
　　Application.EnableEvents = False
　　Application.Undo
　　If SavVal = Target.Value Then
　　　MsgBox “変っていません”
　　　GoTo Owari
　　Else
　　　Target.Value = SavVal
　　　MsgBox “値が変りました”
　　EndIf
　Owari: 
　　Application.EnableEvents = True
　End Sub
を実行することによって、ワークシートのセルにすでに入力されている値と違う値が入力された時にも処理を行う方法」の技術的事項が記載されている。
　しかしながら、ここで示された「Worksheet_Change」のイベントプロシジャにおける「Target.Address $A$1」という条件判断処理は、セルの内容の変化をテストするものであるということはできるものの、「セルの内容に対する、他のセルにおける変化による変化」をテストするものであるということはできない上、他のセルに値がキー入力されたことによりＡ１セルの内容が変化したときには「Worksheet_Change」のイベントプロシジャにおける「Target.Address $A$1」という条件判断処理は真となり「Exit Sub」が実行されることとなって「End Sub」の前の行までの処理が実行されないこととなる。
　また、一般に、引用文献２に記載された「Worksheet_Change」のイベントプロシジャの処理のみでは、「引用文献２に記載の技術を適用する」際「更に他のセル」の値の更新に応じて連鎖的に処理を進める構成を実現することはできないし、引用文献２に記載されていない他のイベントプロシジャ（例えば「再計算（SheetCalculate/Culculate）」のイベントプロシジャ）を組み合わせる等して「少なくとも１つのセルの内容に対する、他のセルにおける変化による変化」に「応答」して「前記チャート表示の前記ビジュアルプロパティを前記コンピュータが更新する」ことが可能であることを示す証拠は見当たらない。
　してみると、当業者といえども、引用発明及び引用文献２に記載された技術的事項から、相違点に係る本願発明１の構成に容易に想到するとはいえない。
　なお、原査定は、「引用文献２に記載の技術を適用する」際「更に他のセル」の値の更新に応じて連鎖的に処理を進める構成を実現することができる旨をいうが、このように連鎖的に処理を進める構成を実現することが引用文献２の開示のみからでは実現できないこと、及び、このことが可能であることを示す証拠が見当たらないことは、上述したとおりである。
　
２　本願発明２−２０について
　本願発明２−２０も、１で本願発明１と引用発明との相違点として検討した点に対応する構成を備えるものであるから、本願発明１と同じ理由により、当業者であっても、引用発明及び引用文献２に記載された技術的事項に基づいて容易に発明できたものとはいえない。
　
第６　むすび
　以上のとおり、本願発明１−２０は、当業者が引用発明及び引用文献２に記載された技術的事項に基づいて容易に発明をすることができたものではない。したがって、原査定の理由によっては、本願を拒絶することはできない。
　また、他に本願を拒絶すべき理由を発見しない。
　よって、結論のとおり審決する。