Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Mac OS X : その他)
抽出?
投稿日時: 17/12/05 14:03:08
投稿者: トンチンカン

どなたかご教授おねがいします。
セル AD2 AE2 AF2 AG2 AH2 AI2 AJ2
     0.5 1.5 2.5 3.5 4.5 5.5 6.5
という数値が入っています。
 
そして。J2列に 5.2 4.11 3.5 1.0 0.5等の数値が入っています。
 
これをK2〜列に J2が5.2ならAH2の4.5を あるいはJ2が4.11ならAH4.5をJ2が1.6ならAE2の1.5を
J2が1.8ならAE2の1.5を、そしてJ2とAD2〜AJ2の数値が同数だったらAD2~AJ2の数値を入れたいのですが、
まったく分かりません。
 
よろしくお願い致します。

回答
投稿日時: 17/12/05 15:10:01
投稿者: 半平太

>J2が4.11ならAH4.5
 
ここだけ、J2より大きい方を採用する理由は何ですか?

回答
投稿日時: 17/12/05 15:21:30
投稿者: sk

引用:
J2が5.2ならAH2の4.5を

引用:
J2が4.11ならAH4.5を

引用:
J2が1.6ならAE2の1.5を

引用:
J2が1.8ならAE2の1.5を

引用:
J2とAD2〜AJ2の数値が同数だったらAD2~AJ2の数値を入れたい

何故上記のような結果となるのか、
J2 セルの値とセル範囲 AD2:AJ2 との関係を
具体的に明記されることをお奨めします。
 
仮に「セル範囲 AD2:AJ2 の中から、J2 セルの値の
近似値を取得したい」というのが本来の目的であるならば、
近似値のマッチング条件を具体的に明示する必要があるでしょう。
 
例: J2 セルの値との差が最も小さい近似値(差が 0 なら J2 セルの値と等値)
 
但し上記の条件の場合、
 
引用:
J2が5.2ならAH2の4.5

ここで返される近似値は 4.5( AH2 セル)ではなく
5.5( AI2 セル)のはずですが。

回答
投稿日時: 17/12/05 15:28:29
投稿者: Suzu

sk さんの引用:
引用:
J2が5.2ならAH2の4.5を

引用:
J2が4.11ならAH4.5を

引用:
J2が1.6ならAE2の1.5を

引用:
J2が1.8ならAE2の1.5を

引用:
J2とAD2〜AJ2の数値が同数だったらAD2~AJ2の数値を入れたい

何故上記のような結果となるのか、
J2 セルの値とセル範囲 AD2:AJ2 との関係を
具体的に明記されることをお奨めします。
 
仮に「セル範囲 AD2:AJ2 の中から、J2 セルの値の
近似値を取得したい」というのが本来の目的であるならば、
近似値のマッチング条件を具体的に明示する必要があるでしょう。
 
例: J2 セルの値との差が最も小さい近似値(差が 0 なら J2 セルの値と等値)
 
但し上記の条件の場合、
 
引用:
J2が5.2ならAH2の4.5

ここで返される近似値は 4.5( AH2 セル)ではなく
5.5( AI2 セル)のはずですが。

 
近似条件ではなく、てっきり合致条件かと。。
 
返値	0.5	1.5	2.5	3.5	4.5	5.5	6.5
------------------------------------------------------------
条件値	0.5	1.5	2.5	3.5	4.5	5.5	6.5
	1.6			5.2
	1.8			4.11

回答
投稿日時: 17/12/05 15:33:42
投稿者: Mike

説明が頓珍漢に見えるけど、貴方の日本語、大丈夫ですか?

投稿日時: 17/12/05 16:05:36
投稿者: トンチンカン

半平太 さんの引用:
>J2が4.11ならAH4.5
 
ここだけ、J2より大きい方を採用する理由は何ですか?

 
お世話になります。
J2が4.11の時はAH2の4.5とAI2の5.5の間の数値を4.5にしたいのです。
J2が1だったらAD2の0.5〜AE2の1.5間であれば0.5としJ2がAE2と同じであれば1.5にしたいのです。
ですので、AE2は1.4と考えるべきでしょうか^^;
J2が1.6であれば、AE2〜AF2の間は1.5です。
仮にJ2が3.7であればAG2の3.5〜AH2の4.5の間ですので、3.5と考えたいのです。
説明がトンチンカンですみませんが、よろしくお願いいたします。

回答
投稿日時: 17/12/05 17:15:01
投稿者: 半平太

フーム、もしかして、
 
J列の 4.11 は 4年11カ月
AE列の4.5 は 4年 6カ月(4.5年) の事ですか?
 
なら、J列の3.5は、3年5カ月?(3.5年じゃなく)
 
すると、J列が3.1だったら何ですかねぇ?
 
3年 1カ月? それとも 3年10カ月?

回答
投稿日時: 17/12/05 21:39:31
投稿者: もこな2

トンチンカン さんの引用:
どなたかご教授おねがいします。
セル AD2 AE2 AF2 AG2 AH2 AI2 AJ2
     0.5 1.5 2.5 3.5 4.5 5.5 6.5
という数値が入っています。
 
そして。J2列に 5.2 4.11 3.5 1.0 0.5等の数値が入っています。
 
これをK2〜列に J2が5.2ならAH2の4.5を あるいはJ2が4.11ならAH4.5をJ2が1.6ならAE2の1.5を
J2が1.8ならAE2の1.5を、そしてJ2とAD2〜AJ2の数値が同数だったらAD2~AJ2の数値を入れたいのですが、
まったく分かりません。
 
よろしくお願い致します。

 
Mac OS Xってセルの表示方法はWindowsと違うんですかね?
 
>J2列に 5.2 4.11 3.5 1.0 0.5等の数値が入っています。
っていうのが、J列の2行目から〜 5.2 4.11 3.5 1.0 0.5等の数値が入る可能性があるっていう意味なのか、はたまた、「J2」セルに入る可能性のある数値が 5.2 4.11 3.5 1.0 0.5等なのか・・・
 
同様に
>これをK2〜列に
っていうのが、「K2」セルの誤りなのかよくわからないです。
さらに、
>J2が5.2ならAH2の4.5を あるいはJ2が4.11ならAH4.5をJ2が1.6ならAE2の1.5を J2が1.8ならAE2の1.5を、そしてJ2とAD2〜AJ2の数値が同数だったらAD2~AJ2の数値を入れたい
っていうのが、なにをやりたいのかさっぱり・・・・
 
とりあえずJ2の値がキーになってるようですのでこういうことです?
(手打ちなのでミスってたらごめんなさい)
Select Case Range("J2").Value
   Case is = 5.2 , 4.11
     Range("AH2").Value = 4.5
   Case is = 1.6
     Range("AE2").Value = 1.5
   Case is = 1.8
     Range("AE2").Value = 1.5
End Select
 
If Range("J2").Value =SUM(Range("AD2:AJ2")) then
 どっかのセル=SUM(Range("AD2:AJ2"))
End If
 
ちょっと落ち着いて、どこに、どのような条件で、どのような数値をいれたいのか を箇条書きにしてみると回答者が混乱しなくて済みそうな気がします。

投稿日時: 17/12/06 12:44:01
投稿者: トンチンカン

半平太 さんの引用:
フーム、もしかして、
 
J列の 4.11 は 4年11カ月
AE列の4.5 は 4年 6カ月(4.5年) の事ですか?
 
なら、J列の3.5は、3年5カ月?(3.5年じゃなく)
 
すると、J列が3.1だったら何ですかねぇ?
 
3年 1カ月? それとも 3年10カ月?

 
お世話になります。
お察しのように
J2列に入れているのは年月です
説明不足でした
J列が3.1であれば3年1ヶ月ということです
4.11は4年11ヶ月です。
3.5は3年5ヶ月と言うことです
 
AD2〜AJ2も同じで0.5は5ヶ月です
4.5は4年5ヶ月と言うことになります
 
J2が0.6でしたら6ヶ月と言うことですが
AD2の0.5よりJ2の方が大きいけれども
AE2(1.5)より小さいときは
AD2の0.5を出したいとい事です
 
本当にわかりにくい説明ですみません
Mekeが仰る通り「頓珍漢」で日本語になっていないですね
すみません
 
実はH列に登録年月日が2012/10/01のようにあり
I列にIF(H2="","",DATEDIF(H2,TODAY(),"Y")&"年"&DATEDIF(H2,TODAY(),"YM")&"ヶ月")で5年2ヶ月と出るようにしました
そして、計算しやすいように
J列にSUBSTITUTE(SUBSTITUTE(I2,"年","."),"ヶ月","")を入れ5.2となるようにしました
 
私の理解力では無理なのでしょうか

回答
投稿日時: 17/12/06 15:27:10
投稿者: んなっと

      H     I   J  K
2 2014/12/6  3年0ヶ月  3.0 2.5
3 2014/11/6  3年1ヶ月  3.1 2.5
4  2014/7/6  3年5ヶ月  3.5 3.5
5  2014/2/6 3年10ヶ月 3.10 3.5
6  2014/1/6 3年11ヶ月 3.11 3.5
7 2013/12/6  4年0ヶ月  4.0 3.5
8  2013/7/6  4年5ヶ月  4.5 4.5
9 2007/11/6 10年1ヶ月 10.1 6.5
 
K2
=IF(H2="","",LOOKUP(1*TEXT(J2,"0."&REPT("!",1*(LEFT(RIGHT(J2,2))="."))&"00"),1*TEXT($AD$2:$BB$2,"0."&REPT("!",1*(LEFT(RIGHT($AD$2:$BB$2,2))="."))&"00;;"),$AD$2:$BB$2))
下方向・↓
 
 
※状況がよくわからないので間違っているかもしれませんが、
以下のようにJ列から右をすべて変更する方法もあるかもしれません。
 
      H     I    J   K   AD  AE  AF  AG  AH
2 2014/12/6  3年0ヶ月  3.00  2.05  0.05 1.05 2.05 3.05 4.05
3 2014/11/6  3年1ヶ月  3.01  2.05   ↑文字列ではなく、数値             
4  2014/7/6  3年5ヶ月  3.05  3.05                
5  2014/2/6 3年10ヶ月  3.10  3.05                
6  2014/1/6 3年11ヶ月  3.11  3.05                
7 2013/12/6  4年0ヶ月  4.00  3.05                
8  2013/7/6  4年5ヶ月  4.05  4.05                
9 2007/11/6 10年1ヶ月 10.01  6.05                
 
J2
=IF(H2="","",DATEDIF(H2,TODAY(),"Y")+DATEDIF(H2,TODAY(),"YM")/100)
表示形式 ユーザー定義 0.00 下方向・↓
K2
=IF(H2="","",LOOKUP(J2,$AD$2:$BB$2))
下方向・↓

投稿日時: 17/12/06 16:05:46
投稿者: トンチンカン

んなっとさん 意味が分からない状況説明でご理解いただき本当にありがとうございました
本当は少し凹んでいました
私には説明できないのだと・・・日本語も危ういのかもと
でも、助かりました
これで、元気が出てきました
 
また困ったことがあったら、よく考え整理して
ここで聞いてみる勇気が出ました
本当に本当にありがとうございました