EXCELで質問です。

ある区間を直線で結びたいのですが、関数で出来ないものでしょうか?
セルアド A  B  C
01  元   ↓求めたい答え
02   15  15
03  14  16
04   13   17
05   12   18
06   11   19
07   20   20
08   11   19
09  12   18
10   13   17
11   14   16
12  15  15
13   16   14
14   17  13
15   18   12
16   19   11
17  10   10
18 11 11

回答の条件
  • 1人3回まで
  • 登録:2009/10/12 08:25:25
  • 終了:2009/10/19 08:30:02

回答(2件)

id:Hyperion64 No.1

Hyperion64回答回数791ベストアンサー獲得回数842009/10/12 10:52:59

ポイント35pt

最後の値「18 11 11」を除けば、下記の関数式でCを再現できますね。

   C*=IF(ABS(A*-15)<=4,30-A*,A*)

ここでA*はA列の*行のセルの値です。一番シンプルな表現をセレクトしてます。

なぜ、「18 11 11」だけが再現できないかというと「06 11 19」「08 11 19」があり、

「11」で異なる値が指定されているためです。

どうしても「18 11 11」を式化したいのでしたら、「A18」の場合は11とするIF文を追加することになりますが。

id:an_shoku_panman

斬新なアイデアありがとうございます。

応用すれば出来るのかも知れませんが、

住みませんが、もう一度知恵をお貸し

願います。

一例として、数値20が18行目にくる場合や

2行目になる事もあり様々なケースがあります。

数値が随時変更になる時の数式が判ればありがたい

です。

宜しくお願い致します。

2009/10/12 14:18:22
id:Hyperion64 No.2

Hyperion64回答回数791ベストアンサー獲得回数842009/10/12 15:50:13

ポイント35pt

>一例として、数値20が18行目にくる場合や

>2行目になる事もあり様々なケースがあります。

上の記法で「18 20 20」や 「2 20 20」ならば上記の関数式で対応できます。

 C*=IF(ABS(A*-15)<=4,30-A*,A*)

は、二本の直線で表せることが前提になってまして、Aセルの値が11と19の間なら30-A

それ以外ならAセルに等しいという条件分岐を使っただけです。

もし、Aセルの値が11と19の間で30-A以外のケースが多々あるとする、それらの例外処理を

一つ一つ条件式にのせることになりますねえ。

  • id:Hyperion64
    すいません。2009-10-12 15:50:13 の発言を
    コメント欄に書いたはずなのに「回答者」になってしまいました。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません