SSブログ
LibreOffice Calc関数 ブログトップ
- | 次の5件

入力規則とDate()関数で年月日を記入する実験 LibreOfficeCalc [LibreOffice Calc関数]

入力規則とDate()関数で年月日を記入する実験

入力規則

  •  事前に、年、月、日 用のデータを作成する
  • メニューバー→データ→入力規則
  • 入力値の種類 セルの範囲
  • ソース 作成したデータの範囲を選択
  • 年,月、日それぞれ入力規則を作成

 

calc_inKisoku2.png
dataINkisei.png
 
 
CalcINkisoku1.png

 

 Date関数 DATE(年,月,日)

  • A2セルの数式  =DATE(C3,D3,E3) 
  • A2の書式を日付にする

マクロを作成し入力規則で選択した該当年月日のセルを選択する

  • 作成したマクロをコントロールボタンに割り当てる
  •  操作方法
  • 年月日を入力規則で入力しマクロを実行するためにコントロールボタンを押す
  • 指定した年月日が選択される

 Sub DateFind()
    'A2セルの値(日付)でA列の同じ日付のセルをセレクトする実験
    '
    '2014/4/14
    '
Dim oCell1,oCell2,EndRow as long
Dim oSheet as object
Dim oRange as object
Dim oCursor as object
    
    'B2セルの値(日付シリアル値)を変数oCell1に代入
        oCell1=ThisComponent.CurrentController.ActiveSheet.getCellByPosition(0,1)
    '    print oCell1.value
    'A列の最終行
       oSheet = ThisComponent.CurrentController.Activesheet
       oRange = oSheet.getCellRangeByName("A2")
       oCursor = oSheet.createCursorByRange(oRange)
       oCursor.gotoEndOfUsedArea(True)
       EndRow=oCursor.Rows.Count
      '         print endRow
    
    'A列を4行目から調べる
    for i=4 to EndRow        '最終行まで
        oCell2=oSheet.getCellByPosition(0,i)
    '    oCell2=int(oCell2.value)
        '    print int(oCell2.value),oCell1.value
        
            if oCell1.value=oCell2.value then
                ThisComponent.CurrentController.select(oCell2)     '一致したらセル選択
                Exit Sub
            else
            End if
    next i
    msgbox "該当する日付が有りません!"
End Sub

 

 


タグ:DATE関数

サーチ関数で正規表現を使い文字列操作 LibreOffice Calc関数 [LibreOffice Calc関数]

サーチ関数で正規表現を使い文字列操作 LibreOffice Calc関数

サーチ関数正規表現.png

  • 文書で解説するのがめんどうなので・・・・・
  • '正規表現  ”[:digit:]” 数字 0-9まで
  • '=SEARCH("[:digit:]","ABC123") = 4 左から数えて4番目
  • '=LEFT("ABC123",SEARCH("[:digit:]","ABC123")-1) = ABC 初めに見つかった数字の位置より左側
           
    '=RIGHT("ABC123",LEN("ABC123")-SEARCH("[:digit:]","ABC123")+1) = 123 初めに見つかった数字の位置より右側
           
    '=LEN("ABC123") = 6 文字数
  • 東京都港区港町5ー5ー5 '=LEFT(A12,SEARCH("[:digit:]",A12)-1) = 東京都港区港町
  • 東京都港区港町1-1-1        
             
             
             
      '=IF(ISERROR(SEARCH("[:digit:]",A12)),"",LEFT(A12,SEARCH("[:digit:]",A12)-1)) = 東京都港区港町 ISERROR(SEARCH(“[:digit:]”,A12=1
            TRUE=1
      '=IF(ISERROR(SEARCH("[:digit:]",A2)),"",RIGHT(A12,LEN(A12)-SEARCH("[:digit:]",A12)+1)) = 5ー5ー5  
  • 東京都港区港町5ー5ー5 を数字の5より前の文字列、5より後の文字列に編集    
    エラー対策と
    全角を半角に
    ASC()
    '=IF(ISERROR(SEARCH("[:digit:]",ASC(A12))),"",LEFT(ASC(A12),SEARCH("[:digit:]",ASC(A12))-1)) = 東京都港区港町
         
    '=IF(ISERROR(SEARCH("[:digit:]",ASC(A12))),"",RIGHT(ASC(A12),LEN(ASC(A12))-SEARCH("[:digit:]",ASC(A12))+1)) = 5ー5ー5

  • FIND()関数では正規表現はつかえない
  • ISERROR()=TRUE はNG
  • ISERROR()=1,ISERROE() はOK

そのうちまとめるつもり

 


列の最終行の値を調べる Lookup LibreOffice Calc [LibreOffice Calc関数]

列の最終行の値を調べる Lookup   LibreOffice Calc

calcLastRowValue.png

上図の説明ではない、Lookupの例の説明

  • =LOOKUP(10^12,Sheet1.G5:G1000) シート1の範囲G5:G1000の入力のある最終行の値
  • Excelでは、=Lookup(10^12,sheet1!G5:G1000) 違ってるかも!
  • 10^12はおまじない?
  • 他のシートを参照する時はシート名は必要、sheet1は省略可、
  • ExcelのG:Gのように列全体を指定する事は出来ない(たぶん?)
  • 行の最終行は1,048,576
  • 列の最終列は1,024
  • 他ブックの参照は出来ないらしい
  • 他ブックを利用する時は、外部デートへのリンクを利用する

 名前で範囲指定

  • Lookupの範囲指定を名前で指定

CalcName2.png

 

 


So-netブログ投稿日からハイパーリンクを作成 LibreOffice Calc [LibreOffice Calc関数]

So-netブログ投稿日からハイパーリンクを作成 LibreOffice Calc

calcHyperLink.png

F5の式 =IF(B5="","", HYPERLINK($B$1 & TEXT(B5,"yyyy-mm-dd") & IF(C5="","","-" & C5), "URL"))

上図のように、

  • B1にブログのURL(トップページ)を記入 例 http://j11.blog.so-net.ne.jp
  • B列に投稿日を設定
  • C列に記事番号を設定 、、当日1つ目の記事は空、2つ目の記事は 1 ・・・・・・
  • D列に記事タイトルを設定
  • E列にカテゴリーを設定
  • F列にハイパーリンクを作成

使用する関数

  • IF() , HYPERLINK() , TEXT()

セルF5の式

  • =IF(B5="","", HYPERLINK($B$1 & TEXT(B5,"yyyy-mm-dd") & IF(C5="","","-" & C5), "URL"))
  • 初めの=IF(B5="","",   は、B5セルが空白なら空白にする
  • HYPERLINK( URL , "表示文字列")
  • 表示文字列は"URL"とする、 文字列は任意
  • $B$1 はセルB1の絶対参照でブログトップのURL 例 http://j11.blog.so-net.ne.jp
  • TEXT(B5,"yyyy-mm-dd") ,B5は投稿日,"yyyy-mm-dd"は2013-10-17にフォーマットし表示
  • IF(C5="","","-" & C5) 、C5セルが空白なら空白、記入されていればC5の内容 例 2013-10-17-1  ' 2番目の記事

ハイパーリンクを開くときは、Ctrlキーを押しながらクリック

式はF5コピーして、F6以下に貼り付け

セキュリティのオプションおよび警告_001.png

 


- | 次の5件 LibreOffice Calc関数 ブログトップ


Linuxランキング

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。