(現在 過去ログ53 を表示中)

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

No8215 の記事


■8215 / )  Re[1]: 条件が異なる場合に置き換えない
□投稿者/ 今村 誠 -(2014/06/25(Wed) 20:06:55)
    2014/06/25(Wed) 20:27:25 編集(投稿者)

    m&mさんこんにちは
    > 具体的には、1学年から3学年までの複数のクラスごとに30名程度のデータが入力してあり、該当するクラスのみデータを置き換えたいのですが、
    > #cond(([学年]="1" .and [クラス]="A"),1000)
    > としたところ、すでに入力済みの他のクラスのデータが消えてしまいました。
    この式は↑ある項目にカーソルを置いて置換→項目置換を選んだと思います。
    式の意味は『"1"[学年]文字列項目です』と同時に『[クラス]が"A"』である
    値を数値の1000に置換して下さい。式には書いてありませんがそれ以外は
    未定義値を設定して下さい。
    という式になります。
    それ以外の値を元の値にしておきたい場合は下記のように書きます。
    #cond([学年]="1" .and [クラス]="A",1000,1,[])…………1
    例えば置換したい項目名([順番]だと仮定)がわかっている場合は
    #cond([学年]="1" .and [クラス]="A",1000,1,[順番])…………2
    としても同じ結果になります。
    []←はカーソルのある列の省略表記です。
    置換や検索で、下記のような式を設定すると
    [順番]=#cond([学年]="1" .and [クラス]="A",1000,1,[順番])…3
    カーソルがどこにあっても[順番]が置換されます。
    正式表記が3で1が省略表記ですが、1の式の場合カーソルが[順番]
    にないと思わぬ結果を招致するという感じでしょうか。

    上の式は下記のように表記することもできます。
    #cond(([学年]="1")*([クラス]="A"),1000,1,[])
    大文字や全角に影響されないように下記のように書くことも
    できます。
    #cond((#num([学年])=1)*(#UC(#全角([クラス]))="A"),1000,1,[])
    ()で括ると条件式になって条件に合致すると1になります。
    アスタリスク(*)は掛け算になり(×)でも同じ結果になります。
    上の式は学年が"1"でクラスが"A"なら1000を違う場合元の値を
    代入することになります。
    括弧でくくって*や+を使うと複雑な絞込(F10)→比較式が組み合わせられます。
    ((#文字位置([自宅住所1],"東京")>0)
    +(#文字位置([自宅住所1],"大阪")>0))
    *(#文字位置([氏名],"田中")>0)=1
    住所に東京か大阪が含まれていて名前に田中が含まれている行を検索
    或いは絞り込む。
返信 [メール受信/OFF] 削除キー/


Mode/  Pass/

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

- Child Tree -
- Antispam Version -