![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67b6d)
現在、桐Ver9SP1を使用しています。
今回、質問をお願いしましたのは一括処理の【置換 条件名=” ”】コマンドで変数に項目名を指定して実行する方法が判らなく困っています。解決策をご伝授ください。
概略説明:
数値項目:[A]、[B]、[C]、[D]、[E] とした時
1)置換条件登録 条件名=””、確認=しない、[A]=#条件選択([B]=1,22,[C]<5,33,1,999)
2)置換 条件名=””
の上記コマンドの項目[C]は固定項目ですが、項目[C]の箇所をメニュー2で事前に表にある [C] or [D] or [E] 項目を選択して変数(&STR)に格納。
次のコマンド(&STR)で実行したいのですがエラーになります。
3)置換条件登録 条件名=””、確認=しない、[A]=#条件選択([B]=1,22,&STR=5,33,1,999)
4)置換 条件名=””
エラー[KD1618:比較できないデータ型の組合わせがあります.. ,&STR=←]
他に確認した結果:
6)置換条件登録 条件名=””、確認=しない、[A]=[C]
7)置換 条件名=””
の実行では [A] に [C] の値が置換されますが、
10)代入 &STR="[C]"
11)置換条件登録 条件名=””、確認=しない、[A]=&STR
12)置換 条件名=””
ではエラー発生
[KD1620:式の結果が代入または変換できないデータ型です &STR ] の表示でエラー
お願い:
3)4)行 及び 10)~12)行の部分をどのように設定、工夫すれば実行可能になるのか?
教えてください。よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
> 10)代入 &STR="[C]"
こうしてみてください。
代入 &STR="C"
念のため、全角半角・大文字小文字間違いないように。
V9ヘルプ→一括処理・履歴・イベント→入門→一括処理の定義と実行→一括処理の書き方→項目名をご参照あれ。
この回答への補足
ご回答ありがとうございます。
[KD1620:式の結果が代入または変換できないデータ型です &STR ]の表示でエラーになりました。
自分の質問で前後しますが項目名の変数格納は「代入 &STR="C"」(C:項目名)が正しいです。
例えば 10)代入 &STR="C"
11)置換条件登録 条件名=””、確認=しない、&STR=[A]
元の11)の = の左右を反対にして”置換する項目”を変数&STRで複数指定する場合は全く問題無いのですが、今回の11) =の右側(置換する値)の項目名を変数指定にする場合、つまり「”置換する値”の項目を文字列型の変数で指定した値から取り込む」、設定方法が理解できていないのです。
ちなみに[KD1620:式の結果が代入または変換できないデータ型です] のMSG自体は 11)の [A]=#数値(&STR) にすることでエラーにはなりませんが本来の置換は正常に実行しません。
取り急ぎ お礼とご報告をさせて頂きます。
No.3
- 回答日時:
> 桐の関数の種類にも限界があって難しいのですが、エクセルのMID関数
> の(文字列)部分を変数指定で文字の取り出し可能になれば大変助かると
> 思っている次第です。
ちょっと最初の質問範囲から逸脱するけど、今回だけ。(次からは別の質問でどうぞ。)
MID(文字列,開始位置,文字数)
桐では #部分列( str , n1 【 | , n2 】 ) になります。
> 文字列 str の先頭から n1 文字目以降の n2 文字を取り出します。
3番めのパラメーター省略時は末尾まで。str・開始位置・文字数は、項目名・変数・ナマ文字列/数値なんでもOK。ただし、タイプが一致していること。項目名という場合には同一レコードのという意味です。
# 私も人から教わってきてますので、見てたらわかる範囲ではリプライつけます。
ryuujiok2205様
今回の自分の質問に対して沢山のアドバイス ありがとうございました。
置換条件登録 条件名="",確認=しない,[A]=[C] の右辺[C]部分を変数指定する登録設定については
代入 &STR="C"
置換条件登録 条件名="",確認=しない,[A]=#項目属性(#項目番号(&STR),0)
置換 条件名=""
の実行で解決できました。
ご報告させて頂きます。
No.2
- 回答日時:
> 今回の11) =の右側(置換する値)の項目名を変数指定にする場合、
> つまり「”置換する値”の項目を文字列型の変数で指定した値から取
> り込む」、設定方法が理解できていないのです。
「そんなことできない」が正解です。「=」には「比較」と「計算」の二つの意味合いがあります。比較でしたら、確かに右辺を変数で項目を表現することはできます。
しかし、置換の場合、リファレンスでよく確認しておいてほしいのですが、比較ではありません。
> 置換 終了状態 = <変数名>,\
> <項目名> = <計算式>,…|<項目名> = _<文字列型の変数名>,…
右辺に持ってこれるのは、値そのものか変数だけです。
何が起こっているかといえば、桐は &STRを項目名ではなく、代入された文字そのものだと思っています。で、数値項目を文字で置換しろといわれて「できるか!」と。
そもそも、項目名で置換したいというのが無理です。置換というのはある項目値を全レコード同じ値か式の計算結果で置き換えるという機能です。
置換しようとする表
[A][B][C][E][F]
1 1 1 1 1
2 2 2 2 2
3 3 3 3 3
4 4 4 4 4
置換に使おうとしている表
[V][W][X][Y][Z]
1 5 5 5 5
2 6 6 6 6
3 7 7 7 7
4 8 8 8 8
これで、[C]に[X]を代入したいとしましょう。「5」「6」「7」「8」のうちどれを入れたらいいですか?
もし、1レコードしかない表を想定されていたとしても、じゃあなんかの間違いで複数レコードになったらどうしますか?
最後に記述はもう少し注意深く行ってください。
「代入 &STR="[C]"」、実は「代入 &STR="C"」の誤記でした。これじゃめちゃくちゃです。構文の区切りが「、」というのも。(^^;;
もし、特定項目によりレコードごとに書き換え制御したいとかいうのでしたら、そのときは「置換」コマンドではなくて「併合」を使います。
この回答への補足
ryuujiok2205様 ご回答ありがとうございます。
質問者の立場で文面上、配慮不足な箇所が多くあり、かえってお気持ちを悪くさせることになり反省しております。申し訳ありませんでした。
自分の補足文に誤解を招くような記述がありましたので租借させて頂きます。
「そんなことできない」が正解です:について
・色々、試行錯誤した結果、難しいナ!と思いつつ、藁をも掴む思いで投稿しました。お察しください。
「代入 &STR="[C]"」、実は「代入 &STR="C"」の誤記でした。これじゃめちゃくちゃです。:ついて
・前の補足に書きました『項目名の変数格納は「代入 &STR="C"」(C:項目名)が正しいです。』は自分の言葉足らずでご指摘の 10)の「代入 &STR="[C]"」が誤記でした と言うつもりではなく、「ryuujiok2205様のコメントの通りです」 と返答した次第です。
質問文の10)~12)は 駄目もとでトライした一例で、誤記ではなく自分の愚策の設定です。
最もシンプルな形式では 6)の置換条件登録 条件名=””,確認=しない,[A]=[C] になりますが、左辺([A])は &STRで指定が可能ですので、構文の<項目名> = <計算式>にあるように希望として何とか右辺([C])も変数指定する方法が考えられないか? と考えて投稿した次第です。
[A]=[C]の1:1 また、変数指定でN:1の項目名の指定が可能に対して、1:Nの設定を変数+計算式(関数)の利用で可能にできないか? の思いでおります。
最後に 「構文の区切りが「、」というのも」:ついて
・これについては「,」にするところ質問書作成時の基本的なミスで注意不足でした。 平謝りです!!
桐の関数の種類にも限界があって難しいのですが、エクセルのMID関数の(文字列)部分を変数指定で文字の取り出し可能になれば大変助かると思っている次第です。 長文になり失礼しました今後ともアドバイス頂ければ幸いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで濁点カナの変換方法...
-
文字の列を揃えるには
-
カンマ( , )をタブに置換したい。
-
文字列に含まれているダブルク...
-
秀丸で余分なスペースを削除したい
-
セルの文字列後ろのスペース削除
-
エクセルの『検索と置換ボック...
-
Word:差し込み印刷時に文字列...
-
ワードで複数の文字を一括・連...
-
Excelで全角ハイフンを半角ハイ...
-
エクセル 置換又は関数でかっこ...
-
テキストでタブを検索してスペ...
-
Word2003で、囲み線の中だけ置...
-
word 改行マークを印刷時に表示...
-
Word VBA フッターでの文字の置換
-
カンマを改行に変換する方法
-
丸付き数字やローマ数字などの...
-
CSVファイルの任意の列をダブル...
-
エクセル重複削除で綺麗に削除...
-
word2013で全角英数字全角カタ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カンマ( , )をタブに置換したい。
-
カンマを改行に変換する方法
-
Excelで全角ハイフンを半角ハイ...
-
エクセルの『検索と置換ボック...
-
秀丸で余分なスペースを削除したい
-
Word:差し込み印刷時に文字列...
-
【MS Office Word 2007】文章の...
-
文字の列を揃えるには
-
エクセル重複削除で綺麗に削除...
-
エクセル 置換又は関数でかっこ...
-
複数のスペースを1つのタブに...
-
セルの文字列後ろのスペース削除
-
文字列に含まれているダブルク...
-
エクセルの「置換」で1行の部分...
-
word 改行マークを印刷時に表示...
-
1文字だけ置換したい
-
ワードで複数の文字を一括・連...
-
エクセルで濁点カナの変換方法...
-
CSVファイルの任意の列をダブル...
-
Word VBA フッターでの文字の置換
おすすめ情報