[[20141219150210]] 『自分で考えた数式が長すぎる』(たまちゃん) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『自分で考えた数式が長すぎる』(たまちゃん)

こんにちは、宜しくお願い致します。
下記のような表があります。

     |[Z]|[AA]|[AB]|[AC]
 [49]|  1|   2|   3|   4
 [50]|   |    |    |    
 [51]|1/2|    |3/4 |    

Z51セルには
=IF(NOT(AB51=""),IF(COUNTA(INDIRECT(ADDRESS(ROW()-2,COLUMN(),4)):INDIRECT(ADDRESS(ROW()-2,COLUMN()+1,4)))=2,INDIRECT(ADDRESS(ROW()-2,COLUMN(),4))&"/"&INDIRECT(ADDRESS(ROW()-2,COLUMN()+1,4)),INDIRECT(ADDRESS(ROW()-2,COLUMN(),4))),
IF(COUNTA(INDIRECT(ADDRESS(ROW()-2,COLUMN(),4)):INDIRECT(ADDRESS(ROW()-2,COLUMN()+3,4)))=4,INDIRECT(ADDRESS(ROW()-2,COLUMN(),4))&"/"&INDIRECT(ADDRESS(ROW()-2,COLUMN()+1,4))&"/"&INDIRECT(ADDRESS(ROW()-2,COLUMN()+2,4))&"/"&INDIRECT(ADDRESS(ROW()-2,COLUMN()+3,4)),
IF(COUNTA(INDIRECT(ADDRESS(ROW()-2,COLUMN(),4)):INDIRECT(ADDRESS(ROW()-2,COLUMN()+3,4)))=3,INDIRECT(ADDRESS(ROW()-2,COLUMN(),4))&"/"&INDIRECT(ADDRESS(ROW()-2,COLUMN()+1,4))&"/"&INDIRECT(ADDRESS(ROW()-2,COLUMN()+2,4)),
IF(COUNTA(INDIRECT(ADDRESS(ROW()-2,COLUMN(),4)):INDIRECT(ADDRESS(ROW()-2,COLUMN()+3,4)))=2,INDIRECT(ADDRESS(ROW()-2,COLUMN(),4))&"/"&INDIRECT(ADDRESS(ROW()-2,COLUMN()+1,4)),INDIRECT(ADDRESS(ROW()-2,COLUMN(),4))))))

と式を書き満足な結果は得られるのですが、とにかくIFIF言い過ぎ?て長い。
皆様だったらどのような式を書くのかな?と知りたくて書き込み致しました。

< 使用 Excel:Excel2003、使用 OS:Windows7 >


 Z51に何を表示させたいのかをおしえていただけませんか?
(___) 2014/12/19(金) 15:17

長すぎて途中で読むのを止めたのですが、こんな感じ?
=IF(AND(COUNTA(Z49:AA49)=2,AB51=""),Z49&"/"&AA49,"")
(???) 2014/12/19(金) 16:41

(___)様

     |[Z]|[AA]|[AB]   |[AC]|[AD]|[AE]
 [49]|  1|   2|      3|   4|   5|   6
 [50]|   |    |       |    |    |    
 [51]|1/2|    |3/4/5/6|    |    |    

51行目は、提示した数式を入力し、同列の49行目〜4列を最大として使用して値を求めます。

     |[Z]|[AA]|[AB]|[AC]|[AD]|[AE]
 [49]|  1|   2|   3|   4|    |    
 [50]|   |    |    |    |    |    
 [51]|1/2|    |3/4 |    |    |    

     |[Z]    |[AA]|[AB]|[AC]|[AD]|[AE]
 [49]|      1|   2|   3|   4|   5|   6
 [50]|       |    |    |    |    |    
 [51]|1/2/3/4|    |    |    |    |    

     |[Z]|[AA]|[AB]|[AC]|[AD]|[AE]
 [49]|  1|   2|    |    |   5|   6
 [50]|   |    |    |    |    |    
 [51]|1/2|    |    |    |5/6 |    

何点か例を載せてみましたが…
伝わりますでしょうか?

(たまちゃん) 2014/12/19(金) 16:46


1例目と3例目の違いが判らず。どちらも、49行目は1〜6まで全部アリですよね? なのに結果違う?
(5か6のどちらかが空欄なのかな?)
(???) 2014/12/19(金) 16:58

1例目も3例目も両方間違いで、1〜6まで全て有りの場合は「1/2/3/4/5/6」となるならば、以下かなぁ?

(Z51セル)=IF(COUNTA(Z49:AA49)=2,Z49&"/"&AA49&IF(COUNTA(AB49:AC49)=2,"/"&AB49&"/"&AC49&IF(COUNTA(AD49:AE49)=2,"/"&AD49&"/"&AE49,""),""),"")
(AB51セル)=IF(AND(COUNTA(Z49:AA49)<>2,COUNTA(AB49:AC49)=2),AB49&"/"&AC49&IF(COUNTA(AD49:AE49)=2,"/"&AD49&"/"&AE49,""),"")
(AD51セル)=IF(AND(COUNTA(AB49:AC49)<>2,COUNTA(AD49:AE49)=2),AD49&"/"&AE49,"")
(???) 2014/12/19(金) 17:26


 AB51とAD51がどういう場合に空白表示になるのかわかりませんが、
 Z51だけなら ↓ の式で例示通りにはなります。

 Z51: =SUBSTITUTE(TRIM(Z49&" "&AA49&IF(AB51=""," "&AB49&" "&AC49,""))," ","/")
 
(JKT) 2014/12/19(金) 18:08

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.