過去の桐井戸端BBS (桐ver.9)
28681 ある項目のレコードの中にひとつでも×があるとき別の項目の値をすべて×にしたい とらきち 2005/01/07-14:13
桐の表で質問があります。
タイトルがうまく考えられませんでしたので、
伝わらなかったらすみません。

項目1と項目2を以下のように入力したとします。


項目1   項目2   項目3
A会社    ○
A会社    ○
B会社    ×
C会社    ○
C会社    ○
D会社    ○
C会社    ×
D会社    ○
B会社    ○
B会社    ×
A会社    ○

そこで、
項目2に1つでも×がある会社の場合、項目3をすべて×を入力したいのですが、

例えば上の例の場合、
A会社の項目2はすべて○なので項目3は空欄(あるいは○でも良い)
B会社の項目2は×が(2コ)あるので、項目3のB会社はすべて×
C会社の項目2は×が(1コ)あるので、項目3のC会社はすべて×
D会社の項目2はすべて○なので項目3は空欄(あるいは○でも良い)
としたいのですが、

手作業で毎回行うのは大変です。
何か良い知恵をお貸し下さい。

28682 Re:表の入力について 宮城 2005/01/07-15:39
記事番号28681へのコメント
とらきちさん、こんにちは。同じ会社で複数レコードあって、
複数レコードの項目2の値の組み合わせによって、項目3の値を決定するわけですね。

これは表操作でないとできないんじゃないでしょうか。

こんな感じでやればできますが。

1.項目1昇順、項目2昇順で並べ替えさせる。(各社1件でも
  ×があれば先頭に×がくるようにした。)

2.項目1で単一化する。

3.項目3を項目2で置換。

4.単一化を解除し、F1(直前値)で項目3ブランクを埋めていく。

4がかなわないというのであれば、2で表を適当な名前をつけて書き出し、単一化解除後併合をかけます。

28683 Re:表の入力について 宮城 2005/01/07-15:43
記事番号28682へのコメント
念のため。併合は項目1で照合し、項目2から項目3に複写します。

(しかし、これだけではなんとも言えませんが、元の表の作りかたを工夫すればもっと違ったことになるような気もします。)

28684 Re:表の入力について うにん 2005/01/07-16:41
記事番号28683へのコメント
>念のため。併合は項目1で照合し、項目2から項目3に複写し
>ます。

項目2を×で絞り込んだのを書き出しして、それで上記の併合すればいいのでは?

28688 Re:表の入力について アックン 2005/01/07-19:56
記事番号28681へのコメント
とらきちさん、こんにちは。
下記の計算式を試してみてください。
[A]や[B]に未定義値がなければ(空欄がなければ)これでいいみたいですけど、
検証してもらえると助かります。>おる

ここでは仮に項目1を[A]、項目2を[B]、項目3を[C]とします。

#progn( #cond( #直前値([A],"")<>[A] .and [B]="×" , #set( STR , "×" ) ,#直前値([A],"")=[A] , &STR , 1 , #set( STR , "○" ) ) , &STR )

#prognは#計算、#condは#条件選択のこと・・・・でしたっけ?(忘れた...)

並べ替えは、[A]昇順 [B]昇順 でいいです。

使い方1:
この式をあらかじめ項目計算式に設定しておきます。
並べ替えした後に置換(再計算)します。

使い方2:
並べ替えした後にこの計算式で置換します。

なお、操作ミスを防ぐために、一連の作業を履歴にしておくか、
フォームならコマンドボタンにしておくといいですね。

アックン(=^・^=)
28689 Re:表の入力について アックン 2005/01/07-20:04
記事番号28688へのコメント
どうもこの式ではうまくいかんですね・・・(^^;

28690 Re:表の入力について アックン 2005/01/07-20:12
記事番号28689へのコメント
いや、やっぱいけるみたい・・・。(^^;
下記と同じ結果みたいだぴょん。

#progn( #cond( #直前値([A],"")<>[A] .and [B]="×" , #set( STR , "×" ) ,#直前値([A],"")<>[A] .and [B]="○" , #set( STR , "○" ) ) , #cond( #直前値([A],"")=[A] , #set( STR , &STR ) ) , &STR )

これから帰宅します。また明日にでも。 アックン(=^・^=)
28693 ありがとうございました とらきち 2005/01/08-16:45
記事番号28690へのコメント
ありがとうございました。
項目1、項目2の並べ替えを忘れずに気をつけたらできました。
履歴をつくり、やっていきたいと思います。

28694 Re:表の入力について とらきち 2005/01/08-16:47
記事番号28684へのコメント
ありがとうございました。
参考にしてやっていきたいと思います。

戻る