【会員アンケートご協力のお願い】抽選で計5名様に役立つ書籍をプレゼント!

Excel (一般機能)

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

 
(Windows 10 Home : Excel 2016)
初心者です、関数式を教えてください。
投稿日時: 24/09/12 21:53:28
投稿者: inosai

セルC13に任意の数値が表示された時、セルA13に、下表に該当する記号又は文字を表示させる。
下記の例ではC13に16.8と表示されたら、A13に4と表示させる関数式を教えてください。

	A	B	C
1	記号無し	0.0以下
2	L or N		3.4以下
3	V or T		5.1以下
4	P or I		7.5以下
5	Ps or Is	8.5以下
6	2		10.0以下
7	3		15.0以下
8	4		20.0以下
9	5		25.0以下
10	32		30.0以下
11	42		35.0以下
12			
13	4		16.8

回答
投稿日時: 24/09/13 07:08:39
投稿者: WinArrow

状況説明が全くないので、どのように回答したらよいかわからないという状況です。
 
説明の内容だけでは、関数を使う意図が理解できません。
 
「〜だったら」を条件といいます。
関数で言えば「IF」関数が最も近いですが、
IF関数は、条件が成立したら「●●〜する」、成立しなったら「▽▽する」
という形式(文法)が必要です。
●●の部分しか説明されていません。
 
もう一つは、「〜」の部分が「表示」です。
具体的に「表示」とは何ですか?
セルにデータを表示するためには、「手入力」、「計算式」がありますが、どちらなんでしょう。
 
 

回答
投稿日時: 24/09/13 08:01:53
投稿者: んなっと

A13
=INDEX(A$1:A$11,MATCH(TRUE,B13-SUBSTITUTE(B$1:B$11,"以下",)<=0,0))
 
とか
=INDEX(A:A,MATCH(TRUE,B13-SUBSTITUTE(B$1:B$11,"以下",)<=0,0))

回答
投稿日時: 24/09/13 08:07:21
投稿者: んなっと

表示形式で"以下"を付けていたり、説明のために追加しているだけで、
実際はB列は"以下"のつかない数値かもしれません。
 
      A   B
 1 記号無し   0
 2   LorN  3.4
 3   VorT  5.1
 4   PorI  7.5
 5  PsorIs  8.5
 6     2  10
 7     3  15
 8     4  20
 9     5  25
10    32  30
11    42  35
12        
13     4 16.8
 
その場合は
A13
=INDEX(A$1:A$11,MATCH(TRUE,B13<=B$1:B$11,0))

投稿日時: 24/09/13 11:21:45
投稿者: inosai

WinArrowさん、申し訳ありません。説明を省き過ぎたのかもしれません。
んなっとさん、情報が少ない中で、ありがとうございます。
  
膨大な情報量の中で、提出者からのデータを、法令に準拠した正しい数値と照合する作業の一部に、使いたいのです。
C列は実際、以下という文字は付いていません。この数値以下の場合A列の記号に該当という意味です。
C13には、別の関数式で算出された数値が表示されます。
C列の数値範囲が法令数値のため、C13には35を超える数値は入力されません。
現在は下記のような参照表で、関数式は下記で行っていますが、もう少し簡素化出来ないかと思い
質問させていただきました。
=LOOKUP(C13,--LEFT(C1:D11,FIND("<",C1:D11)-1),A1:A11)

	A	B	C	D
1	記号無し		0.0≦	
2	L or N		0<3.4<=	
3	V or T		3.4<5.1<=	
4	P or I		5.1<7.5<=	
5	Ps or Is		7.5<8.5<=	
6	2		8.5<10.0<=	
7	3		10.0<15.0<=	
8	4		15.0<20.0<=	
9	5		20.0<25.0<=	
10	32		25.0<30.0<=	
11	42		30.0<35.0<=	
12				
13	4		16.8
    
 
以上、お手数お掛け致しますが、何卒、宜しくお願い致します。

投稿日時: 24/09/13 11:42:53
投稿者: inosai

んなっとさんの2回目の投稿式を同じ条件で採用してみましたが、#VALUE表示されて上手くいきませんでした。

回答
投稿日時: 24/09/13 15:06:59
投稿者: んなっと

ごめんなさい。INDEX(   ,)を忘れていました。
 
      A   B
 1 記号無し   0
 2   LorN  3.4
 3   VorT  5.1
 4   PorI  7.5
 5  PsorIs  8.5
 6     2  10
 7     3  15
 8     4  20
 9     5  25
10    32  30
11    42  35
12        
13     4 16.8
 
A13
=INDEX(A$1:A$11,MATCH(TRUE,INDEX(B13<=B$1:B$11,),0))
 
      A      B
 1 記号無し    0.0<=
 2   LorN   0<3.4<=
 3   VorT  3.4<5.1<=
 4   PorI  5.1<7.5<=
 5  PsorIs  7.5<8.5<=
 6     2  8.5<10.0<=
 7     3 10.0<15.0<=
 8     4 15.0<20.0<=
 9     5 20.0<25.0<=
10    32 25.0<30.0<=
11    42 30.0<35.0<=
12            
13     4     16.8
 
A13
=INDEX(A$1:A$11,MATCH(TRUE,INDEX(B13-TRIM(RIGHT(SUBSTITUTE(SUBSTITUTE(B$1:B$11,"<=",),"<",REPT(" ",10)),10))<=0,),0))

投稿日時: 24/09/13 20:17:16
投稿者: inosai

んなっとさん、ありがとうございます!お陰様で大変助かりました。