リボンを26cmずつに分割する方法

このQ&Aのポイント
  • リボンの長さが250cmであり、これを26cmずつに分割し、さらに2等分したいと考えています。しかし、2箇所にほつれがあり、それらを捨てる必要があります。
  • 例1では、最初の5cmを捨てて13cmずつのリボンを作り、最後に余った62cmを捨てます。例2では、70cmと125cmのほつれがある場合、それぞれのほつれの箇所を捨ててリボンを作ります。
  • 例3では、複数のほつれの箇所がある場合の処理方法を示しています。エクセル2003で実行するための記述方法についても検討が必要です。
回答を見る
  • ベストアンサー

リボンが250cmあり、これを26cmずつにしさらに2等分したい、ただ

リボンが250cmあり、これを26cmずつにしさらに2等分したい、ただし2つのほつれの箇所があるのでこれは捨てたいというものを書こうと思っています。 分かりにくいので添付します 例1 リボン長さ250cm ほつれ箇所5cm、45cm この3点の条件を入れて自動で結果を出力させたいと考えています。 この場合は最初の5cmを捨てて13cmが2つ計26cmで1つでき 次に13cm取ったら45cmにほつれがあったので1cm捨てたとなっています。 その後、13cmずつ取っていき、最後に余った62cmを捨てる(実際に余りは捨てませんが)といった感じです。 例2は70cmと125cmにほつれがあった場合です。 例3はほとんどないのですがまれに採取中にほつれがあった場合です この場合は6Bのものを採取して7Aを取っているときに、6cmのところでほつれがあったので"セルF34"に6を入力してほつれ3に170を出力。 次に7B採取中10cmのところにほつれがあったので"セルF36"に10を入力しほつれ4に190を出力 今まで手入力で別の人がやっていたのですがなんとか効率化できないかと思っています。 例1、例2のほうは13cmの合計ごとに判定していくような形なのかなと漠然に思っているところですけど、いまいち数式が思いつきません。 例3に関しては複雑すぎてエクセルで出来るのだろうかという状況です・・・。 当方エクセル2003使用です。 マクロの記述編集は出来ますがVBAは出来なくはないが苦手です。 何か良い記述ありましたらよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

廃棄量を算定してなかったですね。 改訂添付図: F4 =IF(F3="","",MOD(F3,$C$3)) を右にコピー。 応用できるかと言われれば,計算のロジックはお示ししましたのであとは並べ方だけの問題ですから,あなたの好きなように並べてくださればよい事です。 実際ご相談にはそれで一体「どうしたい」のか書かれていませんでしたので,「こうすれば出来る」方法を最初から作ってこのように回答しました。でもそんなのは全く聞きたくなくて「今の表に埋める式だけやって欲しかった」のでしたら, F10に =IF(C3<13,C3,0) を記入 F11に =13 を記入 F12に  =IF(SUM($F$10:$F$11,13)>$B$3,$B$3-SUM($F$10:F11),IF(COUNTIF($B$3:$H$3,"<"&SUM($F$10:F11,13))=COUNTIF($B$3:$H$3,"<"&SUM($F$10:F11)),"",SMALL($B$3:$H$3,COUNTIF($B$3:$H$3,"<"&SUM($F$10:F11,13)))-SUM($F$10:F11))) を記入 F11:F12をつかんでF38までオートフィルドラッグ その上で F38に =B3-SUM($F$10:F37) と記入します。 なお,掲示されたサンプルの例1と例3の7番の廃棄量は計算が間違っています。

aria1234
質問者

お礼

ありがとうございます。 最初に頂いた計算のほうでいくつかパターンを作ってみましたが、いまいち自分の思うとおりにはいかなく、結局表に埋める式のほうを使わせて頂くことになってしまいました。(多少改変しましたが) 結果オーライではあるものの頼りすぎだなと反省。 ともかくお世話になりました。

その他の回答 (1)

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

250cmのリボンがあって70cmと125cmの位置がほつれていたら,それはつまり70cmと55cmと125cmの3つの長さのリボンがあって,それぞれから13cmずつ切り取って使うという事です。 添付図: C2   全長さ C3   切り取りたいリボンの長さ C5~C9 ほつれの場所(リボンの端から測った位置) F2 0 G2 =IF(COLUMN(A2)>COUNT($C$5:$C$9),"",INDEX($C$5:$C$9,COLUMN(A2)))   右にコピー F3 =IF(F2="","",IF(G2="",$C$2,G2)-F2)   右にコピー F5 =IF(F$2="","",(IF(ROW(F1)>INT(F$3/$C$3),"",F$2+$C$3*(ROW(F1)-1))))   下に右にコピー

aria1234
質問者

補足

なるほど、3つに分けて処理ですか。 画像添付した例が小さくて分かりにくい中ありがとうございます。 補足なのですがこのように http://tukizakura.jp/11.jpg 出力したい場合も解凍の応用でいけるでしょうか。 よろしくお願いします。

関連するQ&A

  • IF、OR、ISBLANKの関数で出力がおかしい

    B1~B3にそれぞれ入力した数値に対し、その結果をB4~B16に出力したいのですが、 (エクセルのグラフを使わずに出力したい) 条件 (1)B1~B3が空欄時は出力しない (2)B1~B3の出力で 奇数値の場合、 例0.03だったら 0.02の箇所に表示する 数式は B10セルに =IF(ISBLANK(OR(B$1,B$2,B$3)),"",IF(OR(B$1=$A10,B$2=$A10,B$3=$A10),"○",IF(OR(B$1=$A10+0.01,B$2=$A10+0.01,B$3=$A10+0.01),"●",""))) と入力しましたが、 (1)の セルに未入力時に 0.00の欄に”○”が出力されてしまいます。 数式のどこがおかしいのかが分からないので助言お願いします。 使用エクセルは2003です。

  • エクセルで2条件の判定により2種類の答えを出す式

    エクセルで、次の条件を満足するようにしたいのですが、 式をどう記述したらよいのでしょうか、教えてください。 セル[A1]に数値が入った場合は、セル[C1]に"D"と入力し、 セル[B1]に数値が入った場合は、セル[C1]に"E"と入力する。 条件が一つの場合は簡単にできるのですが、AND,ORの記述法がよくわかりません。 よろしくお願いします。

  • MS Office Excelの関数

    下記のことが出力できるエクセルの関数を教えてください。 セルαに入力された数値が1~100の場合はセルβに"A"と出力。101~200の場合は"B"と出力。201~301の場合は・・・・ ご存知の方、よろしくお願いいたします。

  • エクセルで入力文字のチェック

    エクセルのセルに入力された値がUnicodeで****から****までの範囲内のみの文字で記述されているかのチェックをしたいのですが、 例:B3には電話番号を入力したいので半角数字と()のみで構成されているかをチェックする。 VBAでどのように記述すればよいのでしょうか? もう一つ、 セルB3に文字を入力し終えた時または、B3にあるカーソルを他のセルに動かした時に VBAが走る…と言う記述方法はあるのでしょうか? ボタンを用意し、入力後[CHECK]を押すとVBAが動くと言うのは出来るのですが… 以上よろしくお願いいたします。

  • セルの自動移動

    エクセルで、入力後次のセルに移動するにはEnter等を押す必要があります。 シートに入力フォームを予め作っています。 1つのセルには1文字しか入力しないのですが、1文字を入力したら(Enter等を押さずに)自動的に次のセル(指定したセル)に移動することはできませんか? 例: セルB1に「1」を入力(1キーを押す)と次に入力したいB2へカーソルが移動

  • エクセルの関数

    エクセルで例えばセルB1に「1」と入力した場合、セルC1からG1まで「15」と表示させ、セルB2に「2」と入力した場合セルC2からF2まで「30」と表示させたいのですが、どのような関数を使えばよろしいでしょうか?

  • Excelで開始時刻があり(例8:00)に経過時間のセルに600秒と入

    Excelで開始時刻があり(例8:00)に経過時間のセルに600秒と入力した場合、出力先のセルの表示を8:10として表示するにはどうしたらいいのでしょうか? A1=8:00開始時刻 B1=600経過時間(単位は秒) C1=出力結果

  • エクセル関数 マクロ

    EXCELで作ってある表に数字を入力する時、 (例)セルA1⇒B1⇒C1(⇒D1⇒F1)と入力した後エンターキーを押したら、 セルA2⇒B2⇒C2(⇒D2⇒F2)へ、またエンターキーを押したら、 セルA3⇒B3⇒C3(⇒D1⇒F3)と移動する方法(関数?マクロ?!)を教えて下さい。

  • エクセルにて別々のセルにあるデータを、一つのセルに出して、その個数を合

    エクセルにて別々のセルにあるデータを、一つのセルに出して、その個数を合計にして出す、という風に行いたいのですが・・ Aセルに品物名、Bセルに品物の規格、Cセルに品物の個数 と入力して、 2~100まではα部署、101~200までがβ部署、201~300までがγ部署 と入力したとします。 ここから、各部署に入力したデータをまとめたいのですが、 AとBが一致した場合、Cに入力してある個数をまとめる、という具合にしたいのです。 例: α部署の所に、Aセルに「鉛筆」 Bセルに「10cm」 Cセルに「10個」 β部署の所に、Aセルに「鉛筆」 Bセルに「10cm」 Cセルに「8個」 とあった場合、一つにまとめて、鉛筆10cmは18個と出す。 上記のようにやるのにうまいやり方はないでしょうか? 数が膨大なためマクロか関数とかでまとめられたら教えていただきたいです。 宜しくお願いいたします。

  • 複数のセルの値を1箇所に移動する方法(関数?)

    WIN Meで、オフィス2002を利用しているものです。 下記のような事はできるでしょうか? (数字、アルファベットはセルの住所を表します) a3,b3,c3にある数値をf3にまとめて移し、それぞれを/でつなぎたいです。 (例)     a3 b3 c3 f3   15 6 4  ⇒  15/6/4  何でこんなややこしいことと思われるかもしれませんが、エクセルのデータを アクセスにインポートしたいのですが、エクセルの年月日を入力するときに セルを(年月日をそれぞれ1つづつのセルに)分けて入力してしまったので こういうことが必要になってしまいました。 違うやり方でインポートできればそれでもかまいません。 どうかよろしくお願いします。  

専門家に質問してみよう