306 Views
April 16, 18
スライド概要
Notes/Dominoの@関数を取り上げながら、調べたこと、経験したことを雑談してゆこうと思います。
第1回は @If・@V2If・@Random について
-notes knows community- 2018/04/11 おためし篇 ネオアクシス株式会社 阿部覚 (tw:) @abesat
1月、新宿 OnTime GC Direct Shopにて 居合わせた4名のうち 誰かさんと誰かさんにより 「阿部さんは@関数を毎回説明して」 「各回10の@関数をやっても 1年経ったら120個憶えられるよ」
・・・そんなにはできませんけど、
ビギナー向けだし @関数について雑談する、 こんなノリでよいでしょうか? 試しに この関数からおはなしをします。 ▼
の雑談
ためしにGoogleさんしてみたら、 3文字で一発ヒットしました (ただし、半角で入力の場合) トップが8ヘルプなのがいまいちだけど よく見ると、IBMサイトじゃないし
Notesのメンテをしていると こんな式を、ときたま目にします いけてない @If(Status="10" ; "申請中"; @If(Status="20" ; "一次承認済み"; @If(Status="30" ; "二次承認済み"; @If(Status="40" ; "事務局処理済み"; @If(Status="50" ; "完了"; "作成中"))))); これでも 動くけれども
わざわざ入れ子にして繰り返さなくても、 ひとつの@Ifでまかなえますよ @If(Status="10" ; "申請中"; Status="20" ; "一次承認済み"; Status="30" ; "二次承認済み"; Status="40" ; "事務局処理済み"; Status="50" ; "完了"; "作成中");
知ってるはずなのに ついつい@Ifを入れ子にしてしまう場合 某表計算ソフトのセル式の 影響を受けているのかも ExcelのIF式の場合、 条件の繰り返しができず、 複数の条件は入れ子にせざるを得ない。 このやり方が体に染みついている?
ただし、Notes/Dominoを見倣ってかは知らない けど? ようやくExcel2016から、複数の条件に対応する 関数をサポートしています。 Microsoftさんのサイトより
Microsoftさんのサイトより @IFとは、 どの条件にも該当しないときの 構文がちょっと違います
まとめると ・「IF」の拡張ではなく 別関数「IFS」として実現 ・引数の数は、なぜか偶数 何らかの事情や思想があるかもしれないけど まだ@Ifの方が 使い勝手がいいな (今回言いたかったのはこれ)
ついでに の雑談
IBMさんのヘルプ
IBMさんのヘルプ(つづき) なんかわかりづらくない? 結局どのバージョンに移行したときに @V2Ifに変更されたの? (今から移行するバージョンではないとはいえ)
IBMサイトのヘルプを使う場合 こんなふうに、説明が 分かりにくいなと感じた時などに ページ下部にあるボタンで 英語に切り替えてみる という手があります
英語の方がはっきり書かれてあり R4への移行時だったということが 分かりました V2Ifなのに、なぜ R2からR3への移行時でないのかは、謎
IBMさんのヘルプ 日本でNotesが発売されたのは R3からです。 したがって、もしアプリ内の式で V2Ifにお目にかかる機会があれば そのアプリ(テンプレート)は 海外製の相当旧いアプリである 可能性が高いのでは。
の雑談
そんな関数知らないよ! といわれると思うので、まずはヘルプから 読んでも いまいちピンとこないな 0と1しかないの? オンラインヘルプが間延びしていたので、やや古いヘルプから引用
じゃあ、実際に使ってみよう! フォームに @Random を計算結果式にしたフィールドを 3つほど作り、
そのフォームで文書を作ると こうなりました なるほど、小数か。 画面更新(F5やF9)を押すたびに 値は変わります。
ヘルプに書かれているこの部分も、 どうやら理解できました
たとえば、10と20の間で乱数を出してみると
こんなふうになりました
使い方はいくつか考えられそうです 私の発想はあまり業務的でないけど サイコロ くじびき ♪どちらにしようかな 表示は整数の方がよいだろうと思うので 小数部分はフィールドの属性で丸めるか @Round関数(四捨五入)を使うのが いいかもしれません
と、こんな感じで 続けてよろしければ、 次からも@関数のいくつかを 拾って雑談してゆきたいと思います もし、「この関数をやって」 というのがあれば 参考にさせていただきつつも、 どの関数から雑談してゆくかは、
です ということでいったんおわります。 ありがとうございました。