advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 295 for cell filename (0.001 sec.)
cell (1170), filename (1981)
[[20060831001420]]
#score: 11170
@digest: 5af8dfcfd9d96b2c70a61f471266cd18
@id: 24744
@mdate: 2006-09-08T08:59:44Z
@size: 34033
@type: text/plain
#keywords: 古車 (136421), 沢1 (126521), 金沢 (108198), 中古 (67442), 車") (48740), 列'' (41461), 摘出 (36722), チー (14239), 販売 (9810), cell (8920), filename (8601), 出条 (8484), リキ (5729), キリ (5332), ・・ (5252), replace (5220), 田中 (5041), 300 (4889), sumproduct (4335), シー (4152), すm (4104), 売上 (4002), ト1 (3924), 対象 (3653), no (3468), substitute (3433), 置換 (3394), ート (3302), 完成 (3289), 全角 (3242), 担当 (3113), 字列 (3039)
『シート1から条件付で各月ごとのシートに抽出する』(自己流の初心者)
[エクセルのバージョン]Excel2003 [OSのバージョン]WindowsXP 前回もお世話になり、ほぼ完成間近になった所で行き詰まってしまいましたので、 又、宜しくお願い致しますm(_)m シート1に入力し、シート2に反映し関数で計算し、整理して集計する売上在庫表を 作っていますが、シート2を月単位でシート2(9月)、シート3(10月)・・・ としたいのですが、条件が色々あってなかなかうまくいきません。 現在入っている関数の例はこれです。 =COUNTIF(入力!J3:J583,"金沢1") =SUMIF(入力!$J$3:$J$583,"金沢1",入力!$P$3:$P$583) =SUMPRODUCT((入力!J3:J583="中古車")*(入力!S3:S583="田中")) =SUMPRODUCT((入力!$J$3:$J$583="中古車")*(入力!$S$3:$S$583="田中")*入力!$P$3:$P$583) シート1からの摘出条件が色々ありちょっと複雑なのですが、条件が沢山ある場合は やはりマクロを使わないと駄目なのでしょうか? (シート1) J K L・・P Q R S T チーム 担当 ・・・売上 ・・・売担当 販売月 金沢1 竹島 ・・・100 ・・・ 高橋 8月 金沢3 寺西 ・・・ 0 ・・・ 田中 8月 中古車 新家 ・・・300 ・・・ 西井 9月 (シート2) C D E F G H ・・・・ チーム 担当 台数 販売金額 計画利益 販売利益 ・・・ 金沢 1 1 0 ・ ・ ・ ・ ・ ・ ・ ・ 中古車 西井 1 100 シート1のJに入力したチーム名単位で、チームが中古車の時のみ売り担当者(S)の 名前毎に、Pの売上を反映させ、Tの販売月と合う月のシートに自動的に反映されるもの です。 但し、今回抜けてしまっていたのが、売上がまだ上がっていない状態でも、チーム名を 入力した時点で各チームの欄に計算された結果がでるので、カウントの方は売れていない のに1と出てしまいます。 これは、=COUNTIF(入力!J3:J583,"金沢1",入力!P3:P583>"1") と入れてみましたが、 エラーになり、少しづつ変えて試してみましたが、やはり駄目でした。 やはり間違っているのでしょうか? 大変ややこしいかと思いますが、この2つを教えて頂きたいのですが、こんなに 複雑ではやはりマクロでないと駄目でしょうか? 説明が下手でわかりにくいかも知れませんが、是非勉強したいので、どうぞ宜しく お願い致しますm(_)m ---- はっきり言って、意味が見えません(汗 >売上がまだ上がっていない状態でも、チーム名を入力した時点で各チームの欄に計算された結果がでるので、カウントの方は売れていないのに1と出てしまいます。 売上が無いときには、空欄等にしたいのでしょうか? であれば、 シート2 の、 中古車 西井 (1) (2) (1) =IF(sum(F2:F○),COUNT(範囲)若しくは、SUM(範囲),"") (2) =IF(sum(F2:F○),SUM(範囲),"") のように、IF関数で分岐するのはいかがでしょう? >大変ややこしいかと思いますが、この2つを教えて頂きたいのですが、こんなに複雑ではやはりマクロでないと駄目でしょうか? ややこしいでしょうか? 内容はわかっていませんが、十分関数で出来そうな気がしますよ^^ ところで、 「この2つ」って、もう一つは何でしょう? ちなみに、ここの掲示板は ←ココに半角スペースを入力してから、文章を記入すると自動的に整形してくれます。 (キリキ)(〃⌒o⌒)b もう寝ます。。。 ---- すみませんm(_)m やはり、説明が下手でわからなかったですよね(ーー;) 自分でもどうして説明していいかわからず、遅くなってしまいました。 又、お世話になりますm(_)m もう一つと言うのは、最初のタイトルに書いている、シート1から条件付で各月ごとの シートに抽出し振り分ける方法です。 過去ログを見ると、沢山のシートから抽出して一つのシートにまとめると言うのはいくつかありましたが、それの逆で、一つのシートから条件にあった物のみ抽出して、 各シート名に付けた月毎に振り分けて振り分けたシートで計算する方法です。 シート2が9月なら、シート1のTに条件に合う9月と入った物のみシート2の関数で計算し、 シート3が10月なら、10月と書かれた物はシート3で自動で計算するようにしたい のですが・・・。 これをしたいのですが、先に入れた関数も関連するだろうから、その説明と現在失敗して いる、売上が上がっていないのに入力した台数が加算されてしまうと言う不具合もお聞き してみました。 シート2の台数のセルは、下で合計計算しているので、空欄でも0でも、合計に加算 されなければどちらでもいいです。 >(1) =IF(sum(F2:F○),COUNT(範囲)若しくは、SUM(範囲),"") >(2) =IF(sum(F2:F○),SUM(範囲),"") この台数部分のセルの式が上に書いた、中古車の時のみAの式で、それ以外は@の式にしているんです。 @=COUNTIF(入力!J3:J583,"金沢1") と A=SUMPRODUCT((入力!J3:J583="中古車")*(入力!S3:S583="田中")) の2種類あるのですが、ここに書いて頂いた式は@の変わりに入れる式ですか? 一度試してみます。 又お手数かけますが、月毎のシート分けの件も宜しくお願い致しますm(_)m ---- 各シートに振り分けるのではなく、振り分けるであろうシートから引っ張ればいいのでは? (キリキ)(〃⌒o⌒)b ---- 掲示板の整形の方法も教えて頂いて有難うございましたm(_)m やっと表示が成功したみたいですし、先の表も崩れているし、私の説明下手も ありましたので、下にもう1度表と詳しい説明を付けさせて頂きます。 教えて頂いた =IF(sum(F2:F○),COUNT(範囲)若しくは、SUM(範囲),"") で抽出条件に "金沢1"と入れると、数字ではなく(金沢1)という値が表示されてしまいました(>_<) >各シートに振り分けるのではなく、振り分けるであろうシートから引っ張ればいいのでは? 振り分けるシートから引っ張ると言うのは、例えば、シート2(8月)からシート1に 値を出すと言う事でしょうか?すみません。ちょっとわからないのですが・・・m(_)m もしかしたら説明不足で表もずれて誤解されているかも知れませんので、もう1度整理してみました。 ・シート1は入力用シートで、シート2(8月)〜シート13(12月)までが、 シート1から条件付で摘出したものを集計した、毎月提出する書類用を作成するものです。 摘出条件@ ・シート1のチーム(J)の各チーム毎 (例:金沢1、金沢2・・・) ・シート1の売上(P)が空白か0の時はカウントしない ・シート1の販売月(T)に一致するシートに反映 (例:シート1のTセルが8月ならばシート2(8月)のシートで計算する 摘出条件A シート1の(J)に(中古車)と入った場合のみ、条件が一つプラスされます。 *シート1のチーム(J)の各チーム毎 (例:金沢1、金沢2・・・) ・シート1の売上(P)が空白か0の時はカウントしない ・シート1の販売月(T)に一致するシートに反映 (例:シート1のTセルが8月ならばシート2(8月)のシートで計算する・シート1の売担当(S)の名前毎 (例:高橋、田中・・・) この各条件がすべて一致したもののみ抽出し、台数、販売金額、販売利益、等が 各シートの項目毎に、反映し計算するという表です。 (シート1) 入力 1 J K L・・ P Q R S T 2 チーム 担当 ・・・ 売上 ・・・・ 売担当 販売月 3 金沢1 竹島 ・・・ 0 ・・・・・ 高橋 8月 4 金沢3 寺西 ・・・ 100 ・・・・・ 吉田 9月 5 中古車 新家 ・・・ 300 ・・・・・ 西井 8月 6 中古車 鈴木 ・・・ 100 ・・・・・ 田中 8月 ・ ・ ・ ・ (シート2) 8月 1 C D E F G H ・・・ 2チーム 担当 台数 販売金額 計画利益 販売利益 ・・・ 3金沢 1 1 0 4金沢 3 ・ ・ ・ ・ ・ ・ ・ ・ ・_・__・___・____・___________________ 21中古車 田中 1 100 ・・・・・・ 22 西井 1 300 ・・・・・・ ・ ・ ・ ・ ・ ・ ・ ・ 下の式は現在シート2に入っている関数で、そのまま使える物は○、追加条件が 必要なのは×で示しています。 × E3 =COUNTIF(No.1!J3:J300,"金沢1") ←(J)にチーム名が入った時点でカウントされるので、(P)の売上が空白か0以外の場合はカウントしないに変更したい ○ F3 =SUMIF(No.1!$J$3:$J$300,"金沢1",No.1!$P$3:$P$300) ←摘出条件@より ○ H3 =SUMIF(No.1!$J$3:$J$300,"金沢1",No.1!$Q$3:$Q$300) ←摘出条件@より ○ E21 =SUMPRODUCT((No.1!J3:J300="中古車")*(No.1!S3:S300="田中")) ←摘出条件Aより ○ F21 =SUMPRODUCT((No.1!$J$3:$J$300="中古車")*(No.1!$S$3:$S$300="田中")*No.1!$P$3:$P$300) ←摘出条件Aより ○ H21 =SUMPRODUCT((No.1!$J$3:$J$300="中古車")*(No.1!$S$3:$S$300="田中")*No.1!$Q$3:$Q$300) ←摘出条件Aより こんな感じで、他は少しづつセルを変更したものが入っている式です。 頭をひねらせ、まとめてみたつもりですが、こんな感じの説明で大丈夫でしょうか? 何度もお手数かけてすみませんが、宜しくお願い致しますm(_)m ---- 暫く忙しくなりそうで、レスできません。。。 お待ちいただくか、他の方のレスをご期待ください。 (キリキ)(〃⌒o⌒)b ---- お忙しいのに、有難うございますm(_)m こんなわかりにくい説明なので、もう見捨てられてしまったかと思いました(>_<) でも又お忙しい中、わざわざお返事頂いて本当に有難うございましたm(_)m あれから取りあえず自分でも色々入れて試していましたが、カウントの方は独学で この方法が良いのかどうかはわからないままですが、数式ができて値出るように なりましたので見て下さいm(_)m(*^_^*) この部分です。 >× E3 =COUNTIF(No.1!J3:J300,"金沢1") ←(J)にチーム名が入った時点でカウントされるので、(P)の売上が空白か0以外の場合はカウントしないに変更したい 変更後⇒ =SUMPRODUCT((No.1!$J$3:J$300="金沢1")*(No.1!$T$3:$T$300="8月")*(No.1!$P$3:$P$300>=1)) >○ E21 =SUMPRODUCT((No.1!J3:J300="中古車")*(No.1!S3:S300="田中")) ←摘出条件Aより 変更後⇒ =SUMPRODUCT((No.1!$J$3:$J$300="中古車")*(No.1!$S$3:$S$300="田中")*(No.1!$T$3:$T$300="8月")*(No.1!$P$3:$P$300>=1)) 二つ目の○の方は○になっていましたが、間違いで、こちらもカウントですから同じように 0の数まで数えてしまっていたので、×で、同じように変更しています。 取りあえずこの2種類の部分は変更後は正しい値が出るようになっています。 各シートに反映する方法はどうしてもわからなかったので、取りあえずセルに条件追加で、 Pの売上が1以上の場合と、Tの販売月から8月の場合、を追加に成功しました。 これで他の式も、同じ方法の追加で変更できるかと思って8月の条件を追加してみましたがエラーになり駄目で、現在色々試しています。 >○ F3 =SUMIF(No.1!$J$3:$J$300,"金沢1",No.1!$P$3:$P$300) ←摘出条件@より >○ F21 =SUMPRODUCT((No.1!$J$3:$J$300="中古車")*(No.1!$S$3:$S$300="田中")*No.1!$P$3:$P$300) ←摘出条件Aより 完成するまで頑張ってみますので、もしお時間が空いたらでいいですので、又、アドバイス 宜しくお願い致しますm(_)m ---- 上記説明では、シート1は「入力」となっていますが 計算式を見る限りでは「No.1」ですね? その他、確認したいこともあるのですが こんな感じかな〜と、勝手に想像して考えてみました。 No.1 [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [1] [2] チーム 担当 売上 売担当 販売月 [3] 金沢1 竹島 0 高橋 8月 [4] 金沢3 寺西 100 吉田 9月 [5] 中古車 新家 300 西井 8月 [6] 中古車 鈴木 100 田中 8月 ※チーム名の「金沢1」等の数字は、半角にしておいてください。 ※T列の販売月と、各シートの数字は「全角or半角」どちらかで統一してください。 8月 [A] [B] [C] [D] [E] [F] [G] [H] [1] 8月 [2] チーム 担当 台数 販売金額 計画利益 販売利益 [3] 金沢 1 0 0 0 [4] 金沢 3 0 0 [5] [6] : : : [21] 中古車 田中 1 100 [22] 中古車 西井 1 300 A1 =REPLACE(CELL("FILENAME",A1),1,FIND("]",CELL("FILENAME",A1)),) シート名をセルに抽出しています。 作業列のため、他の場所でも構いません。が、下記計算式も変更してください。 E3 =IF(COUNTA(C3:D3)=2,IF(C3="中古車",SUMPRODUCT((No.1!$J$3:$J$30=C3)*(No.1!$S$3:$S$30=D3)*(No.1!$T$3:$T$30=$A$1)*(No.1!$P$3:$P$30>0)), SUMPRODUCT((No.1!$J$3:J$300=C3&D3)*(No.1!$T$3:$T$300=$A$1)*(No.1!$P$3:$P$300>0))),"") F3 =IF(C3="","",IF(C3="中古車",SUMPRODUCT((No.1!$J$3:$J$300=C3)*(No.1!$S$3:$S$300=D3)*No.1!$P$3:$P$300), SUMPRODUCT((No.1!$J$3:K$300=C3&D3)*(No.1!$T$3:$T$300=$A$1)*(No.1!$P$3:$P$300)))) 以下コピー ※H列の数式は、情報が少ない(Q列の情報が無い)ため考えていません。 (キリキ)(〃⌒o⌒)b ---- キリキ 様 お忙しいの、こんなに細かく書いて頂いて本当に有難うございましたm(_)m 早速当てはめて試してみます。 H列は、F列の応用ですので、F列の値が出たらそのまま部分変更して自分で応用 します(*^_^*) 他にもまだまだ欄がたくさんありますので・・・・(^◇^;)> 又質問があったらすみません(*- -)(*_ _) 取り急ぎ、お礼だけ先に書いておきたかったので、本当に有難うございました(*- -)(*_ _) ---- 報告が遅くなってすみませんでしたm(_)m 急用で昨日まで留守をしていました。 出掛ける前に教えて頂いた関数を利用して書き換えてみたのですが、うまくカウントが できないまま途中で出掛ける事になりましたが、帰ってから又挑戦し、少しづつ変えて いく内に成功し、それを又アレンジしたりしてやっと完成しました(*^_^*) ややこしいのに挑戦した甲斐あってすごく嬉しいですヾ(@^▽^@)ノ 長い間お付き合い頂いて、色々教えて頂いて本当に有難うございましたm(_)m お陰様で又新しい発見と勉強ができました。 それからあつかましいとは思うのですが、今後又少しづつ足したり変えたりして 使用したいので参考の為、一つ教えて頂きたい事がありますので、又お時間が空いた 時でいいですので宜しくお願い致しますm(_)m >A1 =REPLACE(CELL("FILENAME",A1),1,FIND("]",CELL("FILENAME",A1)),) この式を使わせて頂いているのですが、少し変更したい部分があるのですが、 意味がわからない部分があるので、どのように触っていいのか現在検討して います。 できればこの部分の意味を教えて頂きたいのですが、宜しくお願い致しますm(_)m >,1,FIND("]",CELL 変更してみようと思っているのは、現在はシート名に(9月)ならそのまま(9月) が連動されますが、これを シート名(9月)⇒ 9 (数字のみ表示) となる式を作りたいのです。 何故このようにするかは、「数字」と「月度」で文字の大きさや色等書式を変更して いる為、セルを2つ使っています。 9(A1セル) 月度(A2セル) これにシート名をそのまま(9月)と入れA2を変更していますが、(9月)が大きく なり、(度)だけが小さくなり二つの感じの大きさが違ってバランスが悪いんです。 9月(大きい文字) 度(小さい文字) でもシート名を数字だけ入れるのは他の人が見た時にややこしくなるので、できれば この式をうまく部分変更か追加でできないかと考えています。 何度もすみませんが、本当に色んな事を勉強したいので、意味だけでもいいですので、 又宜しくお願い致しますm(_)m ---- 頑張っているようですね^^ 今日は休みなので時間がありますよ〜 >シート名(9月)⇒ 9 (数字のみ表示) まずは、ヒントをb (わからなければ、お教えしますが取り合えず挑戦してみてください) 「月」の部分を削除(空欄に置換え)するような関数は? >できればこの部分の意味を教えて頂きたいのですが、宜しくお願い致しますm(_)m では、式を分解してみましょうb =REPLACE(CELL("FILENAME",A1),1,FIND("]",CELL("FILENAME",A1)),) ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾1 ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾2 ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾3 ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾4 CELL関数は特殊な関数ですが、ヘルプを見てもらえればわかると思います。 CELL(検査の種類,対象範囲) 今回での「検査の種類」の引数は、"filename"ですね? ヘルプによると、、、 ''' 対象範囲'''を含むファイルの名前 (絶対パス名) を表す文字列。'''対象範囲'''を含むファイルがまだ保存されていない場合、結果は空白文字列 ("") になります。 だそうです。 今回の「対象範囲」は A1 ですね? A1 とは、同じシート内の A1 ですので、計算式をいれた"そのシート"という意味になります。 対象範囲は省略することも出来ますが、複数シートで計算式を入れるときに、不具合が出る恐れがあります。 まぁ、今の段階では「そういうもの」って事で覚えてもらってOK。 では、式を分解してみましょう〜 1.は、上記の流れで "C:¥Documents and Settings¥○○○¥My Documents¥[○○○○.xls]8月" を出していることになります。 ※実際は、保存してある場所が出てきます。○の部分は適当です。 2.は、1とまったく同じですね? 同じものを返してます。 "C:¥Documents and Settings¥○○○¥My Documents¥[○○○○.xls]8月" 3.は、FIND関数です。 FIND(検索文字列,対象,開始位置) 「検索文字列」は、"]" 「対象」は、上記で出した "C:¥Documents and Settings¥○○○¥My Documents¥[○○○○.xls]8月" 「開始位置」は、今回は省略していますので、先頭からです。 ※省略すると、先頭からになります。詳しくはヘルプを参照。 対象の中にある「]」の位置を探し、先頭から「何番目」にあるかを返します。 4.は、REPLACE関数です。 REPLACE(文字列,開始位置,文字数,置換文字列) 「文字列」は、1で出した「絶対パス名」 「開始位置」は、1(先頭)から開始 「文字数」は、FIND関数で出した「何番目」 「置換文字列」は、省略しています。 省略するというのは【何にも無い】ということの意味で、無くしちゃうって事と同じになります。 上記を整理すると、、、 CELL関数で出した「絶対パス名」から、FIND関数で「絶対パス名」から「]」の位置を抽出、REPLACE関数で、先頭から上記位置分を削除。 って形になります。 こんな感じで伝わりますか? (キリキ)(〃⌒o⌒)b 17:10誤字修正 ---- 遅くなってすみませんm(_)m それに又、こんなに詳しく説明して頂いて本当に有難うございます(*- -)(*_ _) 帰りが少し遅くなったので帰って来てから早速読ませて頂いて、できるのが楽しみな 宿題のヒントを頂いたので、頑張って色々試してみましたが、なかなか成功せずに、 ちょっと又途中経過になりますがお邪魔しました(*- -)(*_ _) 色々試した中で、これは多分ヒントに近いので絶対と思ったのですが、月は消え ましたが値が 9 ではなく、 0 と表示されたので、おしい所まできているような 気がしたのですが、又触っている内にどんどんかけ離れてしまわない内に、ご親切に 甘えて、聞く事にさせて頂きました。 こんな式にしてみたのですが、エラーになりました。 =REPLACE(CELL("FILENAME",K1),1,FIND("]",CELL("FILENAME",K1)),LEFT(K1,LEN(K1)-1)) ↑対象のセルの位置が(K1)に入っていますので、変更しています。 エラーと言うか、表示が数字の0なので間違ってるのは確かなのですが、使い方とし ては合っているのでしょうか? それとも、まったくの的外れなのでしょうか? 又ご指導、宜しくお願い致しますm(_)m ---- う〜ん。。。 ここの数式で、MID関数などを使用しているのであれば、考え方としてはありですね^^ ただ、、、 K1 に入っている数式に、K1 をLEN関数で判断させることは、NGです。 循環参照になってしまいます。 そして、K1 に数式を入れていても、CELL関数の「A1」は変えなくても平気ですよ〜 置換えの関数としては、REPLACE関数の他にSUBSTITUTE関数があります。 今回の場合、SUBSTITUTE関数を使用し「月」を「空欄」にしてあげる方法がいいとσ(^o^;)は考えました。 以上で、挑戦できますか? #本日は呑みに行ってしまったため、伝わらなかったらごめんなさい。 (キリキ)(〃⌒o⌒)b ---- キリキ先生、折角呑みに行ってご機嫌の所、折角の酔いが醒めるよう頭を使わせしまい すみません(*- -)(*_ _) 段々と近付いてきたようですので、もう少し頑張ってみたいのですが、もうお休みの ようでしたら、又明日以降でも構わないですので、宜しくお願いしますm(_)m ご説明して頂いた件は良くわかりました(*^_^*) あっているかどうかはわかりませんが、こんな式でしょうか? =SUBSTITUTE("月",K1,"",K1) この式を この式に =REPLACE(CELL("FILENAME",A1),1,FIND("]",CELL("FILENAME",A1)),) 組み入れると言う事でしょうか? すみません、初心者な質問で。。。。。m(_)m ---- >組み入れると言う事でしょうか? うんうん。そうそうv ただ、、、 今度は、SUBSTITUTE関数のお勉強をしてみましょう〜♪ SUBSTITUTE関数。 SUBSTITUTE(文字列,検索文字列,置換文字列,置換対象) ‾‾‾‾‾1 ‾‾‾‾‾‾‾‾2 ‾‾‾‾‾‾‾‾3 ‾‾‾‾‾‾‾4 ヘルプより抜粋! ''文字列'' 置き換える文字を含む文字列を指定します。目的の文字列が入力されたセル参照を指定することもできます。 ''検索文字列'' 検索する文字列を指定します。 ''置換文字列'' ''検索文字列''を検索して置き換える文字列を指定します。 '''置換対象''' ''文字列''に含まれるどの''検索文字列''を''置換文字列''に置き換えるかを指定します。 '''置換対象'''を指定した場合、''文字列''中の'''置換対象番目'''の''検索文字列''だけが置き換えられます。 省略した場合は、''文字列''中のすべての''検索文字列''が置き換えの対象となります。 まぁ、難しいですよね。。。 では、簡単に説明しましょうb 1.「文字列」 ・・・ 元となる文字列 ここでは、REPLACEを使った数式そのもののことです。 2.「検索文字列」 ・・・ 検索する文字列 ここでは、"月" がそうですね。 3.「置換文字列」 ・・・ 上記で検索したものを置換るものです。 ここでは、""(空欄)がそうです。 4.「置換対象」 ・・・ 何番目のものをの指定 ここでは、省略してます。よって全てが対象ですが、"月" は、1個しかないですけどね・・・ 以上を踏まえて、上記関数に当てはめてみましょ〜♪ (キリキ)(〃⌒o⌒)b ---- できました〜〜ヾ(@^▽^@)ノ ついに完成しましたo(^o^o)(o^o^)o ♪ これでいいんですよね? =SUBSTITUTE(REPLACE(CELL("FILENAME",A1),1,FIND("]",CELL ("FILENAME",A1)),),"月","") この式で思っていたように入りましたヾ(@^▽^@)ノ キリキ先生にわかりやすく個人指導して頂いたお陰で、ここまで完成しました。 本当に感謝致しますm(_)m それに今まで使った事のなかった関数等も又覚えられ、他にも又作ってみたく なりました。 多分この関数を使うんだろうな〜とかまでたどり着いても、なかなかその中身を 理解していないと使いこなせないので、今回は長い間お付き合い頂いて、本当に わかりやすく解説まで入れて頂いて、とても勉強になりました。 本当に有難うございましたm(_)m 大感謝ですm(_)mm(_)m 締めくくった後なのですが、参考の為、先に戻ってもう一つだけご質問させて下さい。 >=REPLACE(CELL("FILENAME",A1),1,FIND("]",CELL("FILENAME",A1)),) こちらの式で、本当のセルの位置(関数を入れる位置)は K1 なのに、ここの A1 は そのまま変えなくても良いと言う事でしたが、セルの位置部分は対象セルへの関数 なので理解できたのですが、となると先に説明して頂いたこの対象範囲部分の A1 と 言うのは、対象のセルを表すものではなく、対象の行を表すって事ですか?? 範囲なのに何故、A1 と一つのセルになるのかが不思議に思い、完成はしたものの、 今後の参考の為に、教えて頂ければと思いました。 何度も何度もすみませんが、宜しくお願い致しますm(_)m ---- いえいえ^^ 頑張っている姿は、見えなくても想像は出来ます。 そういう人には、何かしてあげたくなるじゃ〜ないですか^^ さて、今回の質問の件では、CELL関数の特殊な部分の一つだと思います。(他にあるかどうかわかりませんがw) 簡単な実験をしてみましょうb 用意するもの、2つ! ・シートが複数あるブック ※一旦、何でも良いから名前を付けて保存してください。 保存してないファイルでは、CELL関数の結果が返りません。 ・やる気 以上! 1.まず、Sheet1 の A1 に、下記関数を入力 =REPLACE(CELL("FILENAME"),1,FIND("]",CELL("FILENAME")),) ※「対象範囲」を省略しています。 A1 には「Sheet1」が出ましたね? 2.次に全く同じ作業を、Sheet2 の A1 に、下記関数で。 =REPLACE(CELL("FILENAME",A1),1,FIND("]",CELL("FILENAME",A1)),) ※「対象範囲」を「A1」で指定しています。 もちろん、A1 には「Sheet2」が出ましたね? ☆この実験で''どちらも関数を入力したシート名を返すことができる''ということはわかりましたね? では、ここで Sheet1 に戻ってみましょう〜♪ どうなりました? 不思議なことが起こっていませんか? 1.で行ったときは正しいものが反映してましたよね〜? そうです!「対象範囲」を省略して起きてしまった不具合です。(不具合ではないんですけどね^^;) よって、省略はしないで記入するわけです^^ そして、通常の関数であれば「A1」等のセル番地を記入する場合は、そのセルを何かしらの計算等に使用しますが この CELL関数は、単純に『この計算式を入力したシート上が対象ですよ〜』と宣言しているようなものなのです。 (これは、σ(^o^;)の個人的感想ですよ。) だから【循環参照】にもなりません。 逆にいえば、存在するセル番地であれば何処を指定してもOK。 と、言うことだと思っております。 以上でいかがなものでしょう? (キリキ)(〃⌒o⌒)b ---- すごく、よくわかりました^^ 丁度今、完成した表を保存後に、元の式も参考用に保存して置こうと思い、別の ファイルで保存する為に、この式の部分を元に戻して変更すると・・・( ̄□ ̄; 表示がおかしくなり、(9月)でも(9)でもないのに変わっていました。。。。 その時にこちらに戻って、お返事が返っているか見て、納得致しました(*^_^*) グットタイミングで又一つ賢くなりました。 本当に本当に色々有難うございましたm(_)m 今日からはすっきりと熟睡できそうです。 この表は完成ですが、まだまだ覚えたい事がたくさんあるので、又ここで勉強させて 頂きながら、次にやりたい事に挑戦して、どんどん上達しようと思います。 上達のコツはやはりお仕事サボってここで勉強〜(〃⌒o⌒)b ですか?(*^m^*) どうしてもわからない時には又こちらの学校に寄せて頂きますので、その時は又 是非宜しくお願い致します(*- -)(*_ _) 本当に長い間色々ご指導有難うございましたm(_)m ---- 又、又、締めくくった後にすみませんm(_)m トラブルが発生しました( ̄□ ̄;) この式を入れた後、↓ =SUBSTITUTE(REPLACE(CELL("FILENAME",A1),1,FIND("]",CELL("FILENAME",A1)),),"月","") 下の部分を見ると、先に完成して居れてある関数等↓ =SUMPRODUCT((No.1!$J$3:$J$300="金沢4")*(No.1!$T$3:$T$300=K1),No.1!$P$3:$P$300) の部分が計算されなくなっていて、全部0になっていました||||||(* ̄ロ ̄)ガーン||||| これはもしかして、さっき教えて頂いた事と同じような現象が何か起こっているのかと 思い、一度保存してみましたが、やはり変わりませんでした。。。。 多分、条件の範囲の中にこの月に当たる部分の(K1)のセルが入っているからだと思い ますが、これはやはり問題ありなのでしょうか? ---- No.1!$T$3:$T$300 には、確か、、、 8月 や 9月 と入力されているのではなかったでしょうか? もし、K1 に、CELL関数が使ってあるのなら No.1!$T$3:$T$300=K1&"月" 等としないと、全部「FALSE」が返ってしまうのではないでしょうか? (キリキ)(〃⌒o⌒)b ---- そうです。 月が入っているので、先にシート1のT欄を単純に考えて9月から、9と入力し直して 試してみたのですが、値は0のままで、今書いて頂いたように >No.1!$T$3:$T$300=K1&"月" と変更してみましたが、やはり値は変更せず、0のままでした(-_-;) ---- 何処でも良いです。 =T3=K1 ※T3 には、月数が入っていて K1 と同じだと過程。 等としてみると「FALSE」が返りますか? 大文字・小文字に注意 または、SUMPRODUCT関数が入っているセルにカーソルを持っていき ツール → ワークシート分析 → 数式の検証 をしてみてください。 【評価】を押すたびに、数式を1つずつ紐解いてくれます。 ※範囲が、No.1!$T$3:$T$300 ですと大きすぎますので、No.1!$T$3:$T$30 位に小さくして 確かめた方が見やすいかも。 (キリキ)(〃⌒o⌒)b ---- そうです。 T3からK1に一致するものだけを計算していたのですが、やはり >=T3=K1 ←これで確認しましたら、FALSE になりました(-_-;) 数式の検証の方は初めて見ましたが、この部分に (No.1!$J$3:$J$300="金沢4") 下線が入り、評価ではこの様に、TRUE FALSE FALSE TRUE TRUE FALSE FALSE ・・・ と後は全部 FALSE で続いていました。 この FALSE の部分がエラーという事ですか? ---- >この FALSE の部分がエラーという事ですか? 「FALSE」ということは、T列のものと、K1 が一致していないと言うことですよね? 見た目では一致していても、 数字と文字 全角と半角 大文字と小文字(こちらは、英語表記は TRUE が返ります) このような形で、確認してみるとどうですか? [A] [B] [C] [1] 8(数値) 8 FALSE [2] 8(文字) 8 FALSE [3] A A FALSE [4] A a TRUE (キリキ)(〃⌒o⌒)b ---- セルが数字の為、全角と半角の確認をし、どちれでも入れ直してみましたが、やはり駄目 でした(-_-;) 入力は半角全角だけだから、フォントサイズは関係ないですよね? もう一頑張りしてもう少し検証を続けてみます。。。。m(_)m ---- う〜ん。。。 何ででしょうね〜? σ(^o^;)も凄く気になるところですので、 こちらに、アップしてみますか? http://ryusendo.no-ip.com/cgi-bin/upload/upload.html ※アップする際は、プロパティや個人名・会社名等不都合のある部分は消去しておいてください。 (キリキ)(〃⌒o⌒)b ---- >全部0になっていました||||||(* ̄ロ ̄)ガーン||||| 入力した数式を下方コピーするのですよね? K1 → $K$1 では? (sin) 勘違いならポイして下さい。 ---- 今、アップロードの準備中であっちこっちの変更中ですが、まだアップロードは 初めてなので、公開されていけない部分がうっかりとそのままになっては困るので 慎重に変更しています。 >K1 → $K$1 では? これも試しましたが、やはり値はでませんでした(-_-;) アップロードの事で聞きたいのですが、プロパティの消去というのは、プロパティの 中の概要の表示したくない部分のみを普通にクリアするだけでいいんですか? それとできればプロパティで出ているマイドキュメントの名前の所に入っている自分の 名前を変えたいと思ったのですが、これは名前変更ではできなかったのですが、この部分 の名前は変更できないと言う事ですか? ちょっと離れた質問になってすみませんが宜しくお願い致しますm(_)m ---- sinしゃん、ふぉろ〜サンクス^^ >それとできればプロパティで出ているマイドキュメントの名前の所に入っている・・・ ファイルの情報のタブにある 場所: って所かな? これは、アップロードしても見れない(保存してある場所だから、自分のが出る)から大丈夫かな^^ (キリキ)(〃⌒o⌒)b ---- わかりました(*^_^*) では、修正が済んだので、初アップに挑戦してみますp(*^-^*)q♪ それから、sinさん、お礼が抜けていてすみませんm(_)m アドバイス有難うございましたm(_)m ---- アップしました。 http://ryusendo.no-ip.com/cgi-bin/upload/src/up0487.xls 変更前 (シートの値は全部正しい表示) k1 =REPLACE(CELL("FILENAME",A1),1,FIND("]",CELL("FILENAME",A1)),) 変更後(シートの値は全部0に・・・) k1 =SUBSTITUTE(REPLACE(CELL("FILENAME",A1),1,FIND("]",CELL("FILENAME",A1)),),"月","") こんなやり方でよかったですか? わかりますか? ---- やっぱり、全角・半角の違いですね〜 No.1のシートのT列は、半角数字の「9」 シート「9月」から数字のみをCELL関数で抜いてますから、全角数字の「9」 9 と 9 は、エクセル君は別のものとして考えます。 No.1!$T$3:$T$300=--K1 ‾‾‾‾‾ 等として、こちらを数値化するか =--SUBSTITUTE(REPLACE(CELL("FILENAME",A1),1,FIND("]",CELL("FILENAME",A1)),),"月","") ‾‾ CELL関数の式に「--」を付け、数値化すればいいと思います。 こちらの方が、1回の修正ですみますね^^ 前者では、SUMPRODUCT関数全部を変えなくてはいけませんものね^^ (キリキ)(〃⌒o⌒)b ---- できました〜ヾ(@^▽^@)ノ 苦労した甲斐あってすごく嬉しいですヾ(@^▽^@)ノ 本当に有難うございましたm(_)m でも、又すごい初歩的な事をお聞きしたいのですが、このT欄の9というのは、 この式に変えて値がでなくなった時に改めて、全角表示にして入力確認したので、 フォントが小さいだけで全角になっていると思っていましたが、セルの書式設定の 中等に全角半角の表示は無かったと思うのですが、全角半角の保存は入力した後、 保存でそのまま全角半角の保存はされていないのでしょうか? ---- え〜と、、、 上記コメントは、何を言いたいのかわかりません。。。 ぶっちゃけ、わかりやすく言うと No.1のT列には、手入力で「9」を入力していますよね? そうすると、数字ですからエクセル君は勝手に判断して「9」の数値に変えてくれます。 一方、CELL関数とSUBSTITUTE関数でシート名を抜いたものは、 あくまで、「9」や「9」等という【文字】を返しているんです。 エクセル君は【文字】の「9」と、【数字】の「9」は違うものと判断してしまいます。 そのチェックをする方法は、上記で書きましたよね? > このような形で、確認してみるとどうですか? > [A] [B] [C] >[1] 8(数値) 8 FALSE >[2] 8(文字) 8 FALSE >[3] A A FALSE >[4] A a TRUE こちらです。 A1 =8 B1 ='8 C1 =A1=B1 A2 ='8 B2 ='8 C2 =A2=B2 こちらでもう一度、確かめてみてください^^ (キリキ)(〃⌒o⌒)b ---- 今の関数を見ると、一つずつ作成してますね? 少しだけ協力させていただいて、、、 E5 =SUMPRODUCT((No.1!$J$3:$J$300=LOOKUP(9^9,CODE($C$5:$C5),$C$5:$C5)&LEFT($D5))*(No.1!$T$3:$T$300=$K$1)*(No.1!$P$3:$P$300>=1)) F5 =SUMPRODUCT((No.1!$J$3:$J$300=LOOKUP(9^9,CODE($C$5:$C5),$C$5:$C5)&LEFT($D5))*(No.1!$T$3:$T$300=$K$1),No.1!$P$3:$P$300) H5 =SUMPRODUCT((No.1!$J$3:$J$300=LOOKUP(9^9,CODE($C$5:$C5),$C$5:$C5)&LEFT($D5))*(No.1!$T$3:$T$300=$K$1),No.1!$Q$3:$Q$300) J5 =SUMPRODUCT((No.1!$R$3:R$300=LOOKUP(9^9,CODE($C$5:$C5),$C$5:$C5)&LEFT($D5))*(No.1!$T$3:$T$300=$K$1)*(No.1!$P$3:$P$300>=1)) K5 =SUMPRODUCT((No.1!$R$3:$R$300=LOOKUP(9^9,CODE($C$5:$C5),$C$5:$C5)&LEFT($D5))*(No.1!$T$3:$T$300=$K$1),No.1!$P$3:$P$300) L5 =SUMPRODUCT((No.1!$R$3:$R$300=LOOKUP(9^9,CODE($C$5:$C5),$C$5:$C5)&LEFT($D5))*(No.1!$T$3:$T$300=$K$1),No.1!$Q$3:$Q$300) 以上で下にコピーのできる数式になります。 内容を全て把握できていないので、もしかしたらもっと簡単になるかもしれません^^; (キリキ)(〃⌒o⌒)b ---- すみません、説明が下手で・・・・・(*- -)(*_ _) でもこんな説明でも聞きたい事を理解して頂いたようで、よくわかりました(*^_^*) 上記で説明して頂いたこの件も勘違いしていたようでした・・・(-_-;) ひらがな入力で9と入れても、9という数字だけなら【数字】と判断して、9月なら 単語だから【文字】と判断するんですね。 色々と沢山の勉強ができてとても嬉しさと、最後の完成で感動でいっぱいです(*^Q^*) 又もっともっと勉強して、色々挑戦してみますので、又宜しくお願い致しますm(_)m 本当にこんなにも長い間、最後まで見捨てずにお付き合い頂いて、どうも 有難うございました(*- -)(*_ _) 又、やって来たら、イライラするかも知れませんが、又来た〜( ̄_ ̄|||)と思わず、 宜しくお願いします(*- -)(*_ _) あっ、今更新したら、入れ違いにキリキ先生からのアドバイスが入っていたようです。 うわ〜(゚〇゚;)感動です!! こんなのまであるんですね(*^Q^*) キリキ先生はやっぱりすごい人ですね〜。 今回の勉強では色々と感動させられました。 いっぺんに沢山覚えたので、忘れない内に又別の表を作ってみます。 本当に、最後の最後まで有難うございました(*- -)(*_ _) ---- そうだ! 大事なこと忘れてた!!! >上達のコツはやはりお仕事サボってここで勉強〜(〃⌒o⌒)b ですか?(*^m^*) はい。そうですw σ(^o^;)はもちろん、ROUGE先輩なんかまさにそうですwww (ROUGE先輩ごめんねm(_ _)m 冗談よ〜♪(半分本気w)) >いっぺんに沢山覚えたので、忘れない内に又別の表を作ってみます。 まるっきり別の表だったらいいのですが、同じ表内で月数を増やすだけでしたら シートタブを Ctrl + ドラッグ で、右に移動。 上記操作でシートのコピペが出来ます。 んで、シート名が「8月 (2)」みたいに出来ますので、 シート名を、「9月」に変更すれば計算式等は、な〜んにも弄らずに完成してます^^ ここが、CELL関数のいいところ〜♪ だって、シート名を変えれば勝手に返すものが変わってきて、 更に計算式にもそれを利用しておけば、勝手に結果が変わってくれるんですからね〜♪ 知ってたら、ごめんなさい^^; (キリキ)(〃⌒o⌒)b ---- 又アドバイス有難うございますm(_)m ドラッグのコピーの件は、色々調べている時に、ここの過去ログで見て知り、 試していました(*^Q^*) あれは便利ですね。 でも、又そこまで気にかけて頂いてとても嬉しいです(*^_^*) 今回参考にした事は、すべて保存して残していますので、又使えるものはどんどん 使って行こうと思います。 次に考えているのは、今の表をバージョンアップさせるのと、又まったく別の表を 作成する事です。 又お邪魔した時は宜しくお願い致します(*- -)(*_ _) 本当に色々有難うございましたm(_)m ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/200608/20060831001420.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97013 documents and 608132 words.

訪問者:カウンタValid HTML 4.01 Transitional